Javascript 我不知道为什么redux不是';t识别thunk
我搞不懂发生了什么事。我像往常一样有redux thunk设置。由于某种原因,我无法理解我得到的错误:错误:操作必须是普通对象。使用自定义中间件进行异步操作。谁能帮我找出这个错误吗 Index.jsJavascript 我不知道为什么redux不是';t识别thunk,javascript,reactjs,redux-thunk,Javascript,Reactjs,Redux Thunk,我搞不懂发生了什么事。我像往常一样有redux thunk设置。由于某种原因,我无法理解我得到的错误:错误:操作必须是普通对象。使用自定义中间件进行异步操作。谁能帮我找出这个错误吗 Index.js import React from 'react'; import ReactDOM from 'react-dom'; import App from './app'; import './index.css'; ReactDOM.render( <App />, docum
import React from 'react';
import ReactDOM from 'react-dom';
import App from './app';
import './index.css';
ReactDOM.render(
<App />,
document.getElementById('root')
);
app.js
import React, { Component } from 'react';
import Routes from './Routes';
import {Provider} from 'react-redux';
import configureStore from './configureStore';
const store = configureStore();
class App extends Component {
render(){
return (
<Provider store={store}>
<Routes/>
</Provider>
);
}
}
export default App;
您正在从../actions导入autoLocate,但您的帖子在autoLocate.js中描述了它?如果actions.js正在导出您的所有操作,请同时发布该文件。除此之外,一切看起来都很正常。我的actions文件夹中有一个索引文件,可以导出我的所有操作。“export*from./autoLocate';”也许你的减速器不是一个函数/错误导出(在这里看不到)你从../actions导入autoLocate,但你的帖子在autoLocate.js中描述了它?如果actions.js正在导出您的所有操作,请同时发布该文件。除此之外,一切看起来都很正常。我的actions文件夹中有一个索引文件,可以导出我的所有操作。“export*from./autocate';”可能您的减速机不是一个函数/导出错误(此处看不到)
import React, { Component } from 'react';
import Routes from './Routes';
import {Provider} from 'react-redux';
import configureStore from './configureStore';
const store = configureStore();
class App extends Component {
render(){
return (
<Provider store={store}>
<Routes/>
</Provider>
);
}
}
export default App;
import React, { Component } from 'react';
import { connect } from 'react-redux';
import { autoLocate } from '../actions';
import { Button } from './Common'
class Today extends Component {
componentDidMount() {
this.props.fetchTodayWeather('http://
api.wunderground.com/api/cc9e7fcca25e2
ded/geolookup/q/autoip.json');
}
render() {
return (
<div>
<div style={styles.Layout}>
<div><Button> HAHAH </Button></div>
<div><Button> Weather Now </Button></div>
</div>
</div>
);
}
}
const mapStateToProps = state => {
const loading = state.locate.loading;
const located = state.locate.autolocation;
return{ loading, located };
};
const mapDispatchToProps = (dispatch) => {
return {
fetchTodayWeather:(Url) => dispatch(autoLocate(Url))
};
};
export default connect(mapStateToProps,mapDispatchToProps)(Today);`
import { AUTODATA,
AUTOLOCATING
} from './types';
export const autoLocate = (url) => {
return (dispatch) => {
dispatch({ type: AUTOLOCATING });
fetch(url)
.then(data => fetchSuccess(dispatch, data))
};
};
const fetchSuccess = (dispatch, data) => {
dispatch({
type: AUTODATA,
payload: data
});
};