【发布时间】:2020-04-10 22:52:34
【问题描述】:
我用 react native 设置了 Redux。我设法以 res.data 的形式从动作创建者的后端获得响应。但是每当我在我的组件中使用它时,它总是被评估为未定义或为空。
我的动作创建者
export const getData = () => (dispatch: any) => {
axios
.get(`${API_URL}/api/request`)
.then((res) => {
dispatch({
type: REQUESTS_FETCHED,
requestData: res.data,
});
console.log(res.data);
})
.catch((err) => {
console.error(err);
});
};
还有我的减速器
const request = (state = initialState, action: any) => {
switch (action.type) {
case REQUESTS_FETCHED:
return {
...state,
requestData: action.requestData,
};
default:
return state;
}
};
组件如下
class Request extends Component {
componentDidMount = () => {
const {getData} = this.props;
getData();
};
render() {
const {requestData}: any = this.props;
return (
<View style={styles.container}>
{requestData &&
requestData.map((data: any) => {
<Text>{data.value}</Text>
})}
</View>
);
}
}
const mapStateToProps = (state: any) => ({
requestData: state.request.requestdata,
});
const mapDispatchToProps = {
getData,
};
export default connect(mapStateToProps, mapDispatchToProps)(Request);
注意,这与我在 reactjs 中使用的代码相同。 谢谢!
【问题讨论】:
标签: reactjs react-native redux react-redux