Я пытаюсь создать Экран входа в систему с функцией аутентификации и навигацией в отдельном файле, но всегда получаю ошибку при навигации. Я пытался передать реквизит, но он не работает ...
Не могли бы вы мне помочь?
Это мой код:
Приложение. js
export default class App extends React.Component{
render(){
return(
<RootStack navigation={this.props.navigation} />
)
}
}
корневой каталог. js
const StackNavigator = createStackNavigator({
Login: {
screen: login,
navigationOptions: {
headerShown: false,
}
},
Home: {
screen: TaskScreen,
navigationOptions: {
headerShown: false,
}
}
})
export default createAppContainer(StackNavigator);
Вход. js
...
<Auth props={this.props}/>
...
аутентификация js
export function Auth() {
const [username, setUsername] = useState("");
const [password, setPassword] = useState("");
const auth = (props) => {
fetch('http://192.168.178.26:8000/auth/', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({ username, password })
})
.then(res => res.json())
.then(res => {
saveToken(res.token);
console.log(res.token);
props.navigation.navigate('Home'); # Here i get the error
})
.catch(error => console.log(error));
};
const saveToken = async (token) => {
await AsyncStorage.setItem('IN_Token', token)
};
...
Не могли бы вы мне помочь?
Ой, извините, я забыл добавить сообщение об ошибке: undefined не является объектом (оценка 'props.navigation.navigate')