我正在尝试避免使用componentWillReceiveProps
和im使用getDerivedStateFromProps
。
它确实使用值更新状态,但是onChange函数不起作用。
onChange被调用,但是我无法在字段中键入。
只是提供一个想法,组件将获得编辑的数据,并且用户可以编辑其信息
editProfile.tsx
class EditProfile extends Component<dashboardProps, dashboardState> {
state: dashboardState = {
bio: "",
gravatar: ""
};
componentDidMount() {
this.props.getUserProfile();
}
// deprecated
// componentWillReceiveProps(nextProps) {
// this.setState({
// bio: nextProps.user.bio,
// gravatar: nextProps.user.gravatar
// });
// }
static getDerivedStateFromProps(nextProps, prevState) {
if (nextProps.user !== prevState.user) {
return { bio: nextProps.user.bio, gravatar: nextProps.user.gravatar };
}
return null;
}
handleChange = (e: any) => {
this.setState({
[e.target.name]: e.target.value
} as any);
console.log(e.target.name);
};
.........
}