由于getDerivedStateFromProps,onChange无法正常运行

时间:2019-11-24 16:27:01

标签: reactjs

我正在尝试避免使用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);
  };
  .........
}

0 个答案:

没有答案