如何防止当前场景在 react-native-router-flux 的场景转换期间渲染?
How do I prevent the current scene from rendering during a scene transition with react-native-router-flux?
我在场景 A 上有一个 ListView 组件,它最初没有任何内容;这是与商店相关的最近搜索词的列表。
当用户在场景 A 上输入搜索词并单击提交时,最近的搜索词存储会更新,然后我们立即转换到场景 B。我相信我从 ListView 收到 "empty section headers" 警告是由于场景 A 在场景转换时开始渲染。
我尝试在场景 A 组件上使用 shouldComponentUpdate(),但它似乎没有触发?!我希望查看当前位置和新位置,如果它们不同 return false 以防止 updating/rendering.
有人对此有什么建议吗?
设置 enableEmptySections={true} 可防止有关空白部分的警告消息 headers,但这似乎是绷带而不是永久性解决方案。
您是否在初始渲染时将一个空数组传递给 ListView,然后在获得数据后传递一个包含数据的数组?
如果是这样,它只是一个警告,表明您正在呈现一个包含空白部分的 ListView,在这种情况下,这可能是唯一的部分。您可以通过
enableEmptySections={true}
或者您可以做一个简单的检查,看看是否有 ListView 的数据,如果没有,则改为 return null。当数据通过视图时,将使用 ListView
重新呈现
在渲染函数中
if (!this.state.myVar) return null
return <MyListView myData={this.state.myVar} />
我在场景 A 上有一个 ListView 组件,它最初没有任何内容;这是与商店相关的最近搜索词的列表。
当用户在场景 A 上输入搜索词并单击提交时,最近的搜索词存储会更新,然后我们立即转换到场景 B。我相信我从 ListView 收到 "empty section headers" 警告是由于场景 A 在场景转换时开始渲染。
我尝试在场景 A 组件上使用 shouldComponentUpdate(),但它似乎没有触发?!我希望查看当前位置和新位置,如果它们不同 return false 以防止 updating/rendering.
有人对此有什么建议吗?
设置 enableEmptySections={true} 可防止有关空白部分的警告消息 headers,但这似乎是绷带而不是永久性解决方案。
您是否在初始渲染时将一个空数组传递给 ListView,然后在获得数据后传递一个包含数据的数组?
如果是这样,它只是一个警告,表明您正在呈现一个包含空白部分的 ListView,在这种情况下,这可能是唯一的部分。您可以通过
enableEmptySections={true}
或者您可以做一个简单的检查,看看是否有 ListView 的数据,如果没有,则改为 return null。当数据通过视图时,将使用 ListView
重新呈现在渲染函数中
if (!this.state.myVar) return null
return <MyListView myData={this.state.myVar} />