React native 反应导航如何导航到redux中的路线
我对redux的本地反应还不熟悉。我正在使用react-native+redux(带有redux-thunk)+react导航 我在redux操作中执行操作,并打算调用react导航路线React native 反应导航如何导航到redux中的路线,react-native,redux,react-navigation,React Native,Redux,React Navigation,我对redux的本地反应还不熟悉。我正在使用react-native+redux(带有redux-thunk)+react导航 我在redux操作中执行操作,并打算调用react导航路线 export const storeClient = (client) => { return async dispatch => { .... //does not work within action redux //this.props.navigation.n
export const storeClient = (client) => {
return async dispatch => {
....
//does not work within action redux
//this.props.navigation.navigate('ListCliente');
}
}
react导航文档中包含以下信息:
警告:在2018年秋季发布的React Navigation的下一个主要版本中,我们将不再提供有关如何与Redux集成的任何信息,它可能会停止工作。
react导航是否提供了解决此问题的方法?有人能告诉我这个吗?如何使用react导航在操作中指引路线
编辑
将导航作为参数传递到redux中使用是否是一种好的做法
我的组件
我的行动(redux)
**更新
您需要:
1-将导航操作导入操作文件(即actions.js)
2-用NavigationActions替换每个“导航”,调用导航的代码应该如下所示:
const loginUserSuccess = (dispatch, user, navigation) => {
dispatch({
type: LOGIN_USER_SUCCESS,
payload: user,
});
NavigationActions.reset({
index: 0,
actions: [NavigationActions.navigate({ routeName: 'employeeList' })],
}),
};
您的代码与Redux标准的操作编码风格有点相去甚远,无论如何,我发布了一个工作函数,在成功登录后导航到另一条路径,也许您也可以这样做(根据您的代码进行修改)
export const storeClient = (navigation, client) => {
return async dispatch => {
....
navigation.navigate('ListCliente');
}
}
import { NavigationActions } from 'react-navigation'
const loginUserSuccess = (dispatch, user, navigation) => {
dispatch({
type: LOGIN_USER_SUCCESS,
payload: user,
});
NavigationActions.reset({
index: 0,
actions: [NavigationActions.navigate({ routeName: 'employeeList' })],
}),
};