【发布时间】:2021-06-23 00:04:38
【问题描述】:
也许这是一个愚蠢的问题,但我没有找到答案(我从 react-native 开始)。
我需要检测视图何时打开(在堆栈菜单中切换),我的视图是一个组件(函数)。如果我的视图打开了,我会在 redux 中启动一个简单的操作/调度。
我使用 react-native 路由器和 Redux 进行搜索,但没有找到解决方案。 我使用功能组件进行搜索,但如果我使用 useMemo ( react ),则此方法会启动一次。每次显示组件都不是一次。
// my menu
<Tab.Screen
name="Home"
component={HomeScreen}
options={{
tabBarLabel: 'Home',
tabBarIcon: ({ color, focused }) => (
<Icon name={'home'} size={20} color={focused ? '#6646ee' : "#fff"} />
),
tabBarOptions: { activeTintColor:'black' }
}}
/>
如果你有一个解决方案,也许很简单...... 感谢提前
更新: 好的,我找到了一个解决方案来检测我是否点击了菜单
<Tab.Screen
name="Home"
component={HomeScreen2Class}
options={{
tabBarLabel: 'Home',
tabBarIcon: ({ color, focused }) => (
<Icon name={'home'} size={20} color={focused ? '#6646ee' : "#fff"} />
),
tabBarOptions: { activeTintColor:'black' }
}}
listeners={({ navigation, route }) => ({
tabPress: e => {
console.log('page Home clicked')
}
})}
好的,但是如何在 tabPress 中调度 reducer 在一个简单的组件中,我必须使用它:
const action = {type: 'ADD_TEST_2', value: 'blaseb'};
props.dispatch(action);
【问题讨论】:
标签: reactjs react-native react-native-navigation