【发布时间】:2020-07-18 13:56:02
【问题描述】:
我有这个问题。在我的 React Native 应用程序中,用户登录后,他从服务器收到消息,通知他他在应用程序中的角色(教师、学生),并根据该角色呈现不同的 UI。问题是我的登录操作是通过 Redux 分派的(并且我正在从响应中保存一些东西到 redux),我想根据该服务器答案导航到不同的屏幕,但我无法从 redux 操作创建者导航。我尝试了官方文档https://reactnavigation.org/docs/navigating-without-navigation-prop/ 的解决方案,但我不断收到此错误:“导航”对象尚未初始化。有没有其他方法可以在服务器响应之后根据 redux 操作进行导航?谢谢! 我的行动:
export const loginmyapp = (email, password) => {
return async dispatch => {
const response = await fetch(
'http://147.175.121.250:80/authenticate/login',
{
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
email: email,
password: password
})
}
);
if (!response.ok) {
const errorResData = await response.json();
console.log(errorResData);
const errorId = errorResData.error.message;
let message = 'Something went wrong!';
if (errorId === 'EMAIL_NOT_FOUND') {
message = 'Entered email not found!';
} else if (errorId === 'INVALID_PASSWORD') {
message = 'Entered password is not valid!';
}
throw new Error(message);
}
const resData = await response.json();
console.log(resData);
dispatch({
type: LOGINMYAPP,
token: resData.jwtToken,
relationId: resData.relationIDd,
info: resData.info
});
RootNavigation.navigate('SignedInZiak');
};
};
我知道我将在这里使用 ifchecks 处理响应,但只是这个 .navigate 不起作用。有人可以帮帮我吗?
【问题讨论】:
标签: react-native redux react-navigation