【发布时间】:2018-02-19 16:25:39
【问题描述】:
import { createStore, applyMiddleware, compose } from 'redux';
import thunk from 'redux-thunk';
import { persistStore, autoRehydrate } from 'redux-persist'
import { AsyncStorage } from 'react-native';
import allReducers from '../reducers';
const store = createStore(
allReducers,
{},
compose(
applyMiddleware(thunk),
autoRehydrate()
)
);
persistStore(store, { storage: AsyncStorage });
export default store;
我正在使用 expo react native。我在此代码上收到上述错误
以下是动作
的代码import * as types from './types';
import firebase from 'firebase';
import { AsyncStorage } from 'react-native';
export const getLocalToken = async () => {
const localToken = await AsyncStorage.getItem('@auth:localToken');
const mobileNumber = await AsyncStorage.getItem('@auth:mobileNumber');
console.log("GLT", mobileNumber);
if (localToken != null) {
return (dispatch) => {
dispatch({
type: types.GET_LOCALTOKEN_SUCCESS,
payload: { localToken: this.localToken, mobileNumber: this.mobileNumber }
})
}
}
else {
return (dispatch) => {
dispatch({
type: types.GET_LOCALTOKEN_FAIL
})
}
}
}
export const verifyOTP = (mobileNumber, OTPNumber) => {
this.mobileNumber = mobileNumber;
this.OTPNumber = OTPNumber
console.log("HTTP request => ", mobileNumber);
return (dispatch) => {
console.log("Requesting HTTP");
dispatch({
type: types.OTP_ENTERED_SUBMIT
});
fetch('http://192.168.100.199/api/VerifyOTP', {
method: 'POST',
headers: { 'Accept': 'application/json', 'Content-Type': 'application/json', },
body: JSON.stringify({
mobileNumber: this.mobileNumber,
OTPNumber: this.OTPNumber
})
})
.then((response) => response.json()).then(
(responseJson) => {
console.log('HTTP response,', responseJson);
return verifyOTPResponse(dispatch, responseJson);
}).catch(
(error) => { console.error(error); }
);
}
}
我在调度时收到此错误。我是反应 redux 的新手。在我将 persistStore 添加到 redux 存储之前,它运行良好。我在调度时收到此错误。我是反应 redux 的新手。在我将 persistStore 添加到 redux 存储之前,它一直运行良好。
【问题讨论】:
-
您是否在操作中对 api 进行异步调用?
-
是的。我正在操作中进行 API 调用
-
您可以粘贴操作代码吗?
-
@mradziwon 在问题中添加了代码。请检查。
-
在 if & else 语句中有
return (dispatch) => {}有什么原因吗?为什么不return (dispatch) => { if { dispatch({}) } else { dispatch({}) } }。这可能是您的问题的根源。
标签: react-native react-redux redux-thunk