请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

immutable 需要在 state 里使用吗

  1. 如果 state 里有 数组或对象类型需要用 immutable 转成 list 或者 map 吗?
  2. 对于自定义类实例,immutable 好像不会转换,这时候还是可以 通过 obj.xx 进行操作,这个需要处理吗?
  3. 因为现在没有 componentWiiReciveProps 这个钩子了,所以如果我想实现 某个 list 更新时进行一些操作,会采用 通过 state 存储一份 数据,然后用 static getDerivedStateFromProps 进行比较,如果发现不一样,就在 componentDidUpdate 就行更新等操作,这个做法正确吗?
    这里用 immutable 的 is 方法深比较还是 直接采用 === 比较好一些,因为 immutable 类型数据改变肯定会改变地址。
  static getDerivedStateFromProps(props, state) {
    // 判断数据是否发生改变,需要刷新
    if (props.data !== state.data) {
      return {
        data: props.data,
        isNeedRefresh: true,
      };
    }
    return null;
  }
  
  componentDidUpdate() {
    if (this.state.isNeedRefresh === true) {
      this.refresh();
    }
  }
	refresh() {
		// do something
		this.setState({isNeedRefresh: false})
	}
  1. 如果使用 ts 还要用 immutable 吗

正在回答

1回答

  1. 如果有必要提升性能可以这么做。

  2. 需要toJS处理

  3. 没问题,建议使用===

0 回复 有任何疑惑可以回复我~
  • 提问者 诺巴蒂 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2019-12-23 00:39:31
  • 提问者 诺巴蒂 #2
    希望您下个课可以用ts重写一下这个项目
    回复 有任何疑惑可以回复我~ 2019-12-23 00:44:49
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信