我的状态为patients array
。如果patient.room
与roomStates.room
匹配,那么我想将patient.roomStatus
设置为roomStates[key].name
。我的功能如下,但是我看不到为什么它不起作用。
Patient array
const patients = [
{name: "Jay”,room: "room01",roomStatus: ""},{name: "Leo”,room: "room02",{name: "Jim",room: "room05",roomStatus: ""}
]
const roomState = {
room01: {type: "info",name: "Stopped"},room02: {type: "normal",name: "InRoom"},room05: {type: "normal",}
handleRoomStateChange(roomStates) {
Object.keys(roomStates).map((key) => {
this.state.patients.map(patient => {
if (patient.room === roomStates[key].room) {
this.setState({ ...patient,roomStatus: roomStates[key].name});
}
})
});
}