Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
984 views
in Technique[技术] by (71.8m points)

使用getDerivedStateFromProps后, 以前的方法逻辑该在哪里调用?

旧版本react使用componentWillReceiveProps时的写法

componentWillReceiveProps(nextProps) {
    const { id } = this.props;
    const { id: newId } = nextProps;
    if (newId !== id) {
      // 处理逻辑
      this.handleGet(newId)
    }
  }

新版本react 使用 getDerivedStateFromProps 后里面的逻辑代码该怎么写? 我这样写合适吗?

state = {
  id: ''
}

static getDerivedStateFromProps(nextProps, preState) {
    const { dispatch, id: newId } = nextProps;
    const { id } = preState;
    if (newId && newId !== id) {
      return {
        id: newId
      };
    }
    return null;
}

componentDidUpdate(_, prevState) {
    const { id } = this.state;
    if (id && id !== prevState.id) {
      this.handleGet(id)
    }
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
等待大神解答

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

2.1m questions

2.1m answers

60 comments

57.0k users

...