将 prop 从组件传递到堆栈导航器

Posted

技术标签:

【中文标题】将 prop 从组件传递到堆栈导航器【英文标题】:Pass a prop from component to stack navigator 【发布时间】:2019-10-18 16:47:54 【问题描述】:

我在底部标签栏的图标组件上呈现了一个徽章。徽章应该与我从屏幕内的异步调用接收到的数据长度相对应。如何向bottomTabNavigator发送异步调用的长度,在屏幕内调用

当 responseJson 返回时,我尝试像这样调度事件:

 const setParamsAction = NavigationActions.setParams(
              params:  badge: responseJson.length ,
            );
 this.props.navigation.dispatch(setParamsAction);

但是当我从 createMaterialBottomTabBar 中创建路线的导航选项中获取导航参数时,导航状态为空。

【问题讨论】:

【参考方案1】:

回答:你得把 NavigationAction 的 key 属性设置为你的路由,然后在 navigation.state 路由中直接访问

【讨论】:

以上是关于将 prop 从组件传递到堆栈导航器的主要内容,如果未能解决你的问题,请参考以下文章

React Router and this.props:this.props.location.state is undefined

将 props 从布局传递到组件

将“导航”和“道具”传递给子组件

导航组件:将 safeArgs 从活动传递到片段

如何将道具传递给 React Navigation 导航器中的组件?

如何将导航道具从父组件传递到标题?