Я пытаюсь установить свойство defaultValue для текстового поля, получив значение из моего состояния Redux, но он не обновляется соответствующим образом.Странное поведение с текстовым полем Material-UI и статусом Redux, пытающимся установить значение по умолчанию?
Я передал значение в качестве опоры из компонента контейнера до моего редактирования компоненты, как так:
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 к новым данным она остается такой же, как это изначально было. Если я использую значение вместо этого, это изменит данные, но это не позволит мне больше редактировать значение текстового поля.
Как я могу это решить? Я хочу иметь значение defaultValue, установленное в моем состоянии Redux, и разрешить изменение значения, поскольку пользователь меняет/удаляет то, что находится в текстовом поле.