在我的反应应用程序中,我有一个名为配置文件的组件,我正在从服务器获取数据并将其显示在该组件中。我正在使用 redux 和 redux-thunk 以及 axios。在 mapDispatchToProps 函数的帮助下,我正在调用 redux 操作以在安装组件时获取该数据并将其保存到 redux 状态。之后,使用 mapStateToProps 函数,我通过道具在屏幕上显示该数据。这很好用。现在我想有可能编辑,例如,该用户的名字。为了实现这一点,我需要在从服务器获取数据时将该数据保存到组件状态,然后在更改文本字段时,也需要更改组件状态。不知道如何在获取数据后立即将数据保存到组件状态。
简化代码:
const mapStateToProps = (state) => {
return {
user: state.user
}
}
const mapDispatchToProps = (dispatch) => {
return {
getUserData: () => dispatch(userActions.getUserData())
}
}
class Profile extends Component {
state:{
user: {}
}
componentDidMount (){
this.props.getUserData()
// when data is saved to redux state i need to save it to component state
}
editTextField = () => {
this.setState({
[e.target.id]: e.target.value
})
};
render(){
const { user } = this.props;
return(
<TextField id="firstName"
value={user.firstName}
onChange={this.editTextField}
/>
)
}
}