Я использую react-navigation
для маршрутизации в моем приложении реакции. Всякий раз, когда я нажимаю на кнопку регистрации, она показывает
Не определено не является объектом (оценка this.props.navigation.navigate)
Frontend Logic
constructor(props){
super(props);
this.state = {
username: '',
password: ''
}
}
register(){
API.userRegister(this.state)
.then((user) => {
//if(user===this.state)
if(user.username === this.state.username && user.password === this.state.password){
// ToastAndroid.show(user.message, ToastAndroid.SHORT);
this.props.navigation.navigate('Inside')
}
else{
ToastAndroid.show(user.message, ToastAndroid.SHORT)
}
})
}
Метод API POST
static post(url, headers, body, resolve, reject){
fetch(`${this.baseUrl}${url}`,{
headers: headers,
method: 'POST',
body: JSON.stringify(body)
})
.then((resp) => {
resolve(resp.json());
})
.catch(err => reject(err))
}
Код файла API
static userRegister(data){
return new Promise((resolve, reject) => {
this.post(`/register`, {
"Content-Type": "application/json"
}, data, resolve, reject)
});
}
Логика бэкэнда
class UserRegister(Resource):
def post(self):
data = _user_parser.parse_args()
if UserModel.find_by_username(data['username']):
return {"message": "A user with that name is already existed"},400
user = UserModel(**data)
user.save_to_db()
return {"username": data["username"], "password": data["password"], "message": "User created successfully"}, 201