在mapDispatchToProps中从ajax调用中获取响应数据的方法如下:
下面是一个示例代码:
import axios from 'axios';
// 定义一个action类型常量
const FETCH_DATA_SUCCESS = 'FETCH_DATA_SUCCESS';
// 定义一个action creator函数
const fetchDataSuccess = (data) => {
return {
type: FETCH_DATA_SUCCESS,
payload: data
};
};
// 在mapDispatchToProps函数中进行ajax调用
const mapDispatchToProps = (dispatch) => {
return {
fetchData: async () => {
try {
const response = await axios.get('https://api.example.com/data');
dispatch(fetchDataSuccess(response.data));
} catch (error) {
// 处理错误
}
}
};
};
在上面的示例中,我们使用axios库进行ajax调用,并在成功回调函数中将响应数据作为payload创建了一个action对象。然后,通过dispatch函数将这个action对象发送给store。
这样,在组件中调用this.props.fetchData()
即可触发ajax调用,并将响应数据存储到store中。
请注意,上述示例中的URL和请求方法仅作为示例,你需要根据实际情况进行调整。另外,你还可以根据需要添加其他的action类型和action creator函数来处理不同的ajax调用和响应数据。