【发布时间】:2017-08-18 14:38:06
【问题描述】:
这是我的商店创建,我在applyMiddleware 函数中应用redux-thunk
import { createStore, combineReducers, applyMiddleware } from 'redux'
// import { composeWithDevTools } from 'remote-redux-devtools'
import logger from 'redux-logger'
import thunk from 'redux-thunk'
import promise from 'redux-promise-middleware'
import tokenReducer from './reducers/tokenReducer'
const rootReducer = combineReducers({
tokenReducer
})
const middleware = applyMiddleware(logger, promise, thunk)
let store = createStore(rootReducer, middleware)
export default store
然后我将我的组件连接到存储和mapDispatchToProps
function mapDispatchToProps (dispatch) {
return {
getToken: () => dispatch(fetchTokenFromStorage())
}
}
export default connect(mapStateToProps, mapDispatchToProps)(SplashScreen)
这是我的函数代码fetchTokenFromStorage
export function fetchTokenFromStorage () {
return (dispatch) => {
dispatch(getToken())
AsyncStorage.getItem('AuthToken')
.then(function (token) {
dispatch(getTokenSuccess(token))
})
.catch(function () {
dispatch(getTokenFailure())
})
}
}
this.props.getToken() 执行后
在我的控制台中,操作如下所示:
动作 ƒ(调度){
调度(getToken());
_reactNative.AsyncStorage.getItem('AuthToken').then(function (token) {
调度(getTokenSuccess(token));
}).catch(函数 () {
调度(获取...
这是我的函数fetchTokenFromStorage 代码。 React 将我的函数转换为动作类型名称。为什么?
【问题讨论】:
-
我面临同样的问题,您的解决方案不起作用。你还有其他选择吗?
标签: reactjs redux redux-thunk