如何修复错误:应为赋值或函数调用,但却看到一个没有未使用表达式的表达式



我仍然不知道如何从我的操作中获取数据。

行动如下:

import myConstant from './constatnts'
...
export const fetchData = {
isLoading,
isSuccess,
...
};
const isLoading = () => dispatch => {
dispatch({
type: myConstant.FETCH_LOADING,
payload: LoadingApi()
});
}

并尝试使用ES5:

function isSuccess() {
return function(dispatch){
dispatch({
type: myConstant.FETCH_DATA
payload: fetchDataApi()
});
};
}

我在组件中向Redux获取数据时出错

import {fetchData} from './myData'
componentWillMount() {
fetchData.isSuccess; // or fetchData.isLoading
}

我有以下错误:

应为赋值或函数调用,但实际看到的却是表达式没有未使用的表达式

如何修复此问题?

您需要使用dispatch keywoard调用您的操作。如果要使用react组件中的dispatch关键字,则需要使用react-redux包中的connect()函数包装组件。

接下来,您至少需要定义mapStateToProps函数来获取数据(EDIT:您不需要包含mapStateToProps:(,仅当您想将一些数据返回到组件时才包含它(,这些数据是您通过reducer保存到存储中的,从redux存储中作为道具保存到组件中。

所以您的代码应该如下所示:

import {fetchData} from './myData'
import {connect} from "react-redux";
class YourComp extends Component {
...
componentWillMount() {
this.props.dispatch(fetchData.isSuccess());
}
...
}
// this will push data from the store to your props
const mapStateToProps = state => ({
yourData: state.reducer.data
});
// besides other things, this line will push dispatch function callback into your component's props
export default connect(mapStateToProps)(YourComp);

您应该小心语法---

const mapStateToProps = state =>({

})

const mapDispatchToProps = dispatch =>({
addExpenseHandler : (expenseItemData) => dispatch(addExpenseItemData(expenseItemData))
})

最新更新