現在選択されているアイテムの名前を編集するコンポーネント(「name」および「selected」のプロパティを含む)の初期状態としてReduxを使用しています。これはローカルの最初の州として使用されています。なぜなら、私がまだ実装されていない保存ボタンをクリックしたときだけReduxグローバル状態を更新したいからです。初期コンポーネント状態としてReduxを使用
constructor(props) {
super(props)
this.state = {
item: this.props.item
}
}
My機能は、編集名の入力が含まれているレンダリング:
<TextField
id={"name"}
value={this.state.item.name}
onChange={e => this.updateName(e.target.value)}
/>
updateName()関数は次のとおりです。
ここupdateName = (value) => {
var newItem = this.state.item
newItem.name = value
this.setState({item: newItem})
}
、私はアイテムのデフォルトの値を選択することができます選択したアイテムの名前に従って入力が変更されます(アイテムを選択すると、Reduxの状態が更新され、コンポーネントの状態と入力のテキストも更新されます)。すべてが意図的に働いています。
入力に書き込むと書き込まれたテキストは変更されますが、項目を選択すると入力のテキストは更新されません(テキストを入力する前と同じようにReduxの選択項目の名前に従う必要があります)。
this.props.itemへの参照(およびその後のReduxの更新)は、コンポーネントの状態をthis.setState()で更新するとすぐに失われますか?しかし、どうすればこの問題を修正できますか?
問題を解決しました。ありがとうございます! – Noha