在两个 React Native 选项卡场景之间共享数据
Sharing data between two React Native Tab Scenes
所以我有两个标签场景,通过 react-native-router-flux
创建,如下所示。
默认选项卡场景有一个地图,而其他场景有相同数据的列表视图。
一旦检测到位置,数据就会通过 redux 发送并显示在地图上。
如何在另一个选项卡中以列表视图的形式显示相同的数据,而无需再次单独调用?
<Scene key={'tabBar'} tabs
tabBarIconContainerStyle={AppStyles.tabBarIconContainer}
pressOpacity={0.95}>
<Scene
{...AppConfig.navbarProps}
key={'map'}
component={MapScreen}
icon={props => TabIcon({ ...props, icon: 'map-marker' })}
></Scene>
<Scene
{...navbarPropsTabs}
key={'home'}
component={FeedScreen}
icon={props => TabIcon({ ...props, icon: 'view-list' })}
></Scene>
</Scene>
如果您没有将 redux props 传递给状态,而是直接传递给第二个视图的 render/return,它应该在 redux props 更改后立即重新呈现。如果你需要将它们传递给一个状态,你可以使用 componentWillRecieveProps 在它们发生变化时将新的道具传递给状态。如果您可以 post 代码,我很乐意尝试提供更多帮助。
所以我有两个标签场景,通过 react-native-router-flux
创建,如下所示。
默认选项卡场景有一个地图,而其他场景有相同数据的列表视图。
一旦检测到位置,数据就会通过 redux 发送并显示在地图上。
如何在另一个选项卡中以列表视图的形式显示相同的数据,而无需再次单独调用?
<Scene key={'tabBar'} tabs
tabBarIconContainerStyle={AppStyles.tabBarIconContainer}
pressOpacity={0.95}>
<Scene
{...AppConfig.navbarProps}
key={'map'}
component={MapScreen}
icon={props => TabIcon({ ...props, icon: 'map-marker' })}
></Scene>
<Scene
{...navbarPropsTabs}
key={'home'}
component={FeedScreen}
icon={props => TabIcon({ ...props, icon: 'view-list' })}
></Scene>
</Scene>
如果您没有将 redux props 传递给状态,而是直接传递给第二个视图的 render/return,它应该在 redux props 更改后立即重新呈现。如果你需要将它们传递给一个状态,你可以使用 componentWillRecieveProps 在它们发生变化时将新的道具传递给状态。如果您可以 post 代码,我很乐意尝试提供更多帮助。