#react-native #redux #react-redux #axios
#реагировать-родной #переопределение #реагировать-redux #axios #react-native
Вопрос:
Можно успешно зарегистрировать пользователя с помощью my action creator, но он возвращает неопределенный. Я думаю, что это способ, которым я возвращаю свою отправку
axiosInstance
import axios from 'axios';
import AsyncStorage from '@react-native-community/async-storage';
// import base url
import {API_URL} from '../constants';
const instance = axios.create({
baseURL: API_URL,
timeout: 2000,
});
instance.interceptors.request.use(
async(config) => {
const token = await AsyncStorage.getItem('token');
if(token) {
config.headers.Autherization = `${token}`;
}
return config;
},`enter code here`
(err) => {
return Promise.reject(err);
}
)
export default instance;
Действие по регистрации.
import axiosInstance from '../../api/axiosInstance';
import {REGISTER_USER_SUCCESS, REGISTER_USER_FAIL} from '../actionTypes/index';
const registerSuccess = (payload) => {
return{
type: REGISTER_USER_SUCCESS,
data: payload
}
};
const registerError = (payload) => {
return {
type: REGISTER_USER_FAIL,
data: payload
}
};
export const SignUp = (registerData) => async dispatch => {
axiosInstance.post('/users/register', registerData)
.then((response)=> {
dispatch(registerSuccess(response.data));
})
.catch((error) => {
dispatch(registerError(error));
});
}
Вот как я использую свой action creator .. результат не определен. Я хочу проверить, могу ли я перенаправить экран на другой экран входа в систему или домашний экран
Функция отправки регистрации
dispatch(registerAction.SignUp(values))
.then( (result) => {
console.log('klhadsghaj',result.status);
if(result.success) {
try {
navData.navigation.navigate("Login");
}catch (err) {
console.log(err)
}
} else {
Alert.alert('Registration failed. Try Again')
}
})
.catch(err => console.log(err))
Комментарии:
1. Вы не возвращаетесь при регистрации:
return axiosInstance.post('/users/register', registerData)
иreturn dispatch(registerSuccess(response.data));
2. Спасибо, забыл вернуть