如何使用 redux 逻辑将值传递给操作



我有一个看起来像这样的操作

export const setTokenTimeout = date => ({
type: SET_TOKEN_TIMEOUT,
date 

我想使用 Redux Logic 将它调度到一些中间件中,如下所示

const requestLogin =
createLogic({
type: LOGIN_REQUEST,
latest: true,
process({ axios, push, action, getState }, dispatch, done ) {
const { code, user } = action.payload
const config = configure(progress(LOGIN_REQUEST)(dispatch))
return axios.post(Api.AUTH_LOGIN, { code, user }, config)
.then(res => {
dispatch(handleSuccess(LOGIN_SUCCESS)(res))
dispatch(push(Route.WELCOME))
dispatch(setTokenTimeout())
done()
}).catch( e => {
window.alert(e)
dispatch(handleFailure(LOGIN_FAILURE)(e))
dispatch(reset('LoginForm'))
done()
})
}

我想像这样为我的行动传递一个日期

const date = new Date()
dispatch(setTokenTimeout(date))

但是当我尝试调度我的 setTokenTimeout 函数时,它捕获了一个错误,指出

TypeError: (0 , _token2.default) is not a function

怎么可能不是一个函数?

如果我只是这样做

dispatch(setTokenTimeout) 

它不会给我一个错误,但我需要能够将一个值传递给它。

是的,您的"命名导出"和"默认导入"不匹配。 它们必须是同类。

因此,如果您有export const setTokenTimeout,这是一个命名导出,则需要具有import {setTokenTimeout} from "./actions/token",这是一个命名导入。

最新更新