在ajax调用后设置Redux store的方法是通过使用Redux中间件来处理异步操作。以下是一个示例步骤:
import { createStore, applyMiddleware } from 'redux';
import thunk from 'redux-thunk';
import rootReducer from './reducers';
const store = createStore(rootReducer, applyMiddleware(thunk));
import axios from 'axios';
export const fetchData = () => {
return dispatch => {
axios.get('https://api.example.com/data')
.then(response => {
dispatch({ type: 'FETCH_DATA_SUCCESS', payload: response.data });
})
.catch(error => {
dispatch({ type: 'FETCH_DATA_FAILURE', payload: error.message });
});
};
};
import React, { useEffect } from 'react';
import { connect } from 'react-redux';
import { fetchData } from './actions';
const MyComponent = ({ data, fetchData }) => {
useEffect(() => {
fetchData();
}, []);
return (
<div>
{/* 在组件中使用获取到的数据 */}
{data.map(item => (
<div key={item.id}>{item.name}</div>
))}
</div>
);
};
const mapStateToProps = state => ({
data: state.data
});
export default connect(mapStateToProps, { fetchData })(MyComponent);
在上述示例中,通过调用fetchData函数来触发ajax请求,并将获取到的数据存储在Redux store中的data属性中。组件通过connect函数连接到store,并将data属性映射到组件的props上,以便在组件中使用。
这是一个简单的示例,你可以根据具体的业务需求和使用的中间件进行相应的调整。关于Redux的更多信息和用法,请参考Redux官方文档:Redux官方文档。
领取专属 10元无门槛券
手把手带您无忧上云