因此,我有一个项目列表,当您单击其中一个项目时,它将显示一个模态,其中包含有关该项目的信息。我有一个文本框可以在要让用户输入注释的地方输入注释。它可以成功保存用户键入的注释并显示占位符,直到它们出现为止。但是,一旦退出模态并备份它,它将显示第一次编写的内容,但您将无法再对其进行更改。
这是我在模式中的文本输入(currItem是被按下以调出模式并接受道具的项目)
<TextInput
placeholder={'Add notes'}
value={this.props.currItem.notes}
multiline
style={styles.notesInput}
onChangeText={this.onNotesChange.bind(this)}
/>
我的便笺更改功能:
onNotesChange(text) {
this.props.notesChanged(text);
console.log(this.props.currItem.notes);
}
从onNotesChange调用的操作:
export const notesChanged = (text) => {
return {
type: CHANGE_NOTES,
payload: text
};
};
以及接收它的减速器:
case CHANGE_NOTES:
return {
...state,
itmes: state.items.map(item => ((item.id === state.currItem.id)
? { ...item, notes: action.payload } : item))
};
在项目的初始状态下,注释也存储为:
items: [...state.items, {
id: state.items.length,
text: action.text,
notes: null,
}]
在redux端,一切正常,并且状态中存储的内容正确显示。同样,问题在于,一旦我关闭了模态并将其备份打开,它就不再可编辑。