【发布时间】:2016-08-15 19:02:54
【问题描述】:
我正在尝试通过从我的 Redux 状态获取值来为文本字段设置 defaultValue 属性,但是它没有相应地更新。
我已将值作为道具从容器组件传递到我的编辑组件,如下所示:
render() {
const {data} = this.props
return (
<editcomponent value={this.props.data.value}
)
}
const mapStateToProps = (state) => {
return {
data: state.dataReducer
}
}
在我的编辑组件中,我尝试先显示它,效果很好:
render() {
return (
<h3>this.props.value</h3>
)
}
当我用 Redux 状态的新数据重新加载页面时,它会相应地更新。但是,当我尝试完全相同的操作时,除了设置 defaultValue 的文本字段外,它不会更新。
这不起作用:
render() {
return (
<TextField id="textfield_id" defaultValue={this.props.value}/>
)
}
它会在初始时间工作,然后当我用新数据重新加载页面时,它不会将 defaultValue 设置为新数据,它保持与原来相同。如果我改用 value,那么它会更改数据,但不允许我再编辑文本框的值。
我该如何解决这个问题?我希望能够通过我的 Redux 状态设置 defaultValue,并允许在用户更改/删除文本框中的内容时更改该值。
【问题讨论】:
标签: javascript reactjs redux material-ui