Javascript 错误获取';未捕获错误:操作必须是普通对象。使用自定义中间件进行异步操作;雷杜·图恩
我试着写下面的代码。但redux thunk不起作用。 你知道怎么解决吗? 当我执行此代码时,它可能会出现此错误。Javascript 错误获取';未捕获错误:操作必须是普通对象。使用自定义中间件进行异步操作;雷杜·图恩,javascript,reactjs,redux,redux-thunk,Javascript,Reactjs,Redux,Redux Thunk,我试着写下面的代码。但redux thunk不起作用。 你知道怎么解决吗? 当我执行此代码时,它可能会出现此错误。 createStore.js:113未捕获错误:操作必须是普通对象。使用自定义中间件进行异步操作。 但我已经安装了redux thunk。为什么会发生这种错误 index.js import { createDevTools } from 'redux-devtools'; import LogMonitor from 'redux-devtools-log-monitor'; i
createStore.js:113未捕获错误:操作必须是普通对象。使用自定义中间件进行异步操作。
但我已经安装了redux thunk。为什么会发生这种错误
index.js
import { createDevTools } from 'redux-devtools';
import LogMonitor from 'redux-devtools-log-monitor';
import DockMonitor from 'redux-devtools-dock-monitor';
import React from 'react';
import ReactDOM from 'react-dom';
import { createStore, combineReducers, applyMiddleware, compose } from 'redux';
import { Provider } from 'react-redux';
import { Router, Route, IndexRoute, browserHistory } from 'react-router';
import { syncHistoryWithStore, routerReducer } from 'react-router-redux';
import thunk from 'redux-thunk';
import * as storage from './persistence/storage';
import randomToken from './utlis/random';
import * as reducers from './reducers';
import {
App,
Home
} from './components';
const reducer = combineReducers({
...reducers,
routing: routerReducer
});
if (!storage.get('token')) {
storage.put('token', randomToken());
}
const initialState = {
application: {
token: storage.get('token')
}
};
const DevTools = createDevTools(
<DockMonitor toggleVisibilityKey="ctrl-h" changePositionKey="ctrl-q">
<LogMonitor theme="tomorrow" preserveScrollTop={false} />
</DockMonitor>
);
const store = createStore(
reducer,
initialState,
compose(
applyMiddleware(
thunk
),
DevTools.instrument()
)
);
const history = syncHistoryWithStore(browserHistory, store);
ReactDOM.render(
<Provider store={store}>
<div>
<Router history={history}>
<Route path="/" component={App}>
<IndexRoute component={Home}/>
</Route>
</Router>
</div>
</Provider>,
document.getElementById('app')
);
import React from 'react';
import { connect } from 'react-redux';
import * as actions from '../actions/cityForcast';
export class Home extends React.Component {
constructor (props, context) {
super(props, context);
}
componentWillMount () {
this.props.dispatch(actions.search(this.props.token));
}
render() {
return (
<div>
<button onClick={() => actions.search()}>Search</button>
</div>
);
}
}
export default connect(({ application, cityForecast }) => ({ application, cityForecast }))(Home);enter code here
export function search(token) {
return dispatch => {
console.log(token);
};
}
我可以自己解决这个问题。我还需要安装redux thunk和DevDependence