react-navigation 同一个tab 里的页面切换如何刷新??

请问tab之间的切换时不刷新页面的吗?如果2个tabbar 里面的 list数据是对应的,比如 一个是 货物list, 一个是 上架货物的list , 在一个list里面点击了某件货物上架, 那应该在 上架货物list里面多一件,但发现tab之间的切换不会刷新重读页面, tab之间也没法用 callback 完成数据刷新, 请问如何解决?

阅读 9.4k
3 个回答
新手上路,请多包涵

最近刚好也在学习react native,尝试做一个to do list 练手。
3个tabbar分别是“所有”、“已完成”、“未完成”,当点击任意页面的一件to do事项,将“未完成”标为“已完成”,所有页面都同时修改,这个场景和你描述的有点类似。
我把更新数据的事件放到componentWillReceiveProps。

componentWillReceiveProps() 在已装载组件接收新 props 之前被调用。 如果您需要更新 state 以响应props 的更改(例如,重置它),则可以在此方法中比较this.props 和 nextProps 并使用 this.setState() 执行状态转换。

  componentDidMount() {
    this._getTodolistData();

  }

  componentWillReceiveProps(){
    this._getTodolistData();
  }

  _getTodolistData(){
    let _this = this;
    AsyncStorage.getItem('todolistData', (err, result) => {
      if(err){
        return;
      }
      let todoListArr = (result != null) ? JSON.parse(result) :'';
      let  todoListFilter= this.filterArr(todoListArr);
      _this.setState({
        todolistData: todoListFilter[true]
      })
      // Alert.alert("getItem success")
    })
   
  }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题