如何使用react-native-router-flux阻止当前场景在场景转换期间呈现?

时间:2016-10-19 15:32:59

标签: react-native react-native-router-flux

我在场景A上有一个ListView组件,它最初没有任何内容;它是与商店相关的最近搜索字词列表。

当用户输入搜索词并在场景A上单击提交时,会更新最近的搜索词存储,然后我们立即转换到场景B.我得到"空段标题"来自ListView的警告我认为是由场景A在场景转换时开始渲染引起的。

我在Scene A组件上尝试了使用shouldComponentUpdate(),但它似乎没有触发?!我希望查看当前位置和新位置,如果它们不同,则返回false以防止更新/渲染。

有人对此提出建议吗?

设置 enableEmptySections = {true} 会阻止有关空节标题的警告消息,但这看起来像是绷带而不是永久解决方案。

1 个答案:

答案 0 :(得分:2)

您是否在初始渲染时将空数组传递给ListView,然后在拥有数据后将数组传递给数组?

如果是这样,它只是一个警告,你正在渲染一个带有空部分的ListView,在这种情况下可能是唯一的部分。你可以传递

enableEmptySections={true}

或者你可以做一个简单的检查,看看是否有ListView的数据,如果没有返回null。当数据通过视图时,将使用ListView重新呈现

在渲染功能

if (!this.state.myVar) return null

return <MyListView myData={this.state.myVar} />