gpt4 book ai didi

javascript - Material-UI 文本字段和 Redux 状态尝试设置默认值的奇怪行为?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:27:55 24 4
gpt4 key购买 nike

我正在尝试通过从我的 Redux 状态获取值来为文本字段设置 defaultValue 属性,但是它没有相应地更新。

我已经将值作为 Prop 从容器组件向下传递到我的编辑组件,如下所示:

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}/>
)
}

它会在初始时间工作,然后当我用新数据重新加载页面时,它不会将默认值设置为新数据,它会保持原来的状态。如果我改用值,那么它会更改数据,但它不允许我再编辑文本框值。

我该如何解决这个问题?我希望能够通过我的 Redux 状态设置一个默认值,并允许在用户更改/删除文本框中的内容时更改该值。

最佳答案

我遇到了同样的问题,我通过以下方式解决了:https://stackoverflow.com/a/36959225/842097

不使用defaultValue,而是在状态中设置initialValues

初始值:{
名称: theName
}

关于javascript - Material-UI 文本字段和 Redux 状态尝试设置默认值的奇怪行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38961329/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com