首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >反应自然: TabBarIOS.item的力重加载

反应自然: TabBarIOS.item的力重加载
EN

Stack Overflow用户
提问于 2015-06-23 23:13:45
回答 2查看 1.9K关注 0票数 4

我有一个TabBar为基础的应用程序,在反应本土化。多个选项卡使用相同的数据源(AsyncStorage)。如果我现在在一个选项卡中更新数据,然后打开另一个选项卡,就会显示旧的数据。我不知道,如何强制重新加载每一次的项目变得活跃。

  1. FavoritesView:显示保存的数据
  2. ExploreView:操作保存的数据
  3. FavoritesView:显示过期数据(->强制重装)

{ this.setState({ selectedTab:'exploreTab‘});}}> { this.setState({ selectedTab:'favoriteTab‘});}> // Reload此 { this.setState({ selectedTab:'moreTab‘});}>

我已经尝试设置一个新的状态来触发更新,但是它似乎没有改变任何东西。

代码语言:javascript
复制
<TabBarIOS.Item
      title="Favorites"
      icon={{uri:'ic_favorite_border'}}
      selected={this.state.selectedTab === 'favoriteTab'}
      onPress={() => {
        this.setState({
          selectedTab: 'favoriteTab',
          forceUpdate: Math.random()
        });
      }}>
      <FavoritesView forceUpdate={this.state.forceUpdate}/>
</TabBarIOS.Item>
EN

回答 2

Stack Overflow用户

发布于 2015-07-06 12:05:48

我也遇到了类似的问题,最终对我起作用的是在嵌入式视图上覆盖componentWillReceiveProps。只要视图在selectedTab中设置为TabBarIOS,就会调用它。

https://facebook.github.io/react/docs/component-specs.html#updating-componentwillreceiveprops

票数 1
EN

Stack Overflow用户

发布于 2015-06-24 08:28:57

this在使用fat箭头表示法(this)时引用父组件。

尝试将一个ref添加到TabBar项中,并使用this.refs.refName.forceUpdate() (比使用随机值更新状态稍微好一些)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31015045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档