我在redux中添加了redux-thunk,在dispath中执行return一个action的函数还是报错

import {createStore,compose,applyMiddleware } from 'redux'
import thunk from 'redux-thunk'
import reducer from '../Reducer/index'

const composeEnhancers =
window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ?
window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({}) : compose;

const enhancer = composeEnhancers(
applyMiddleware(thunk)
);

const store = createStore(reducer, enhancer);
export default store;

这是store的配置 中间件使用了thunk

function mapdispatchtoprops(dispatch){
return{
setLoginState:dispatch(login(token))
}
}

export default connect(null,mapdispatchtoprops)(withRouter(Login));
这是component中的使用

const login = (token)=>{
return {
type:'login',token:token,loginStatus:true
}
}

const loginAction = (token) => dispatch =>{
if(Object.getOwnPropertyNames(token).length > 0 ){
dispatch(login(token))
}else{
return false;
}
}
export default {loginAction,login}

这是自定的action

在component在执行报错:
Uncaught TypeError: Object(...) is not a function