Сначала вы должны отправлять изменения при получении данных, чтобы вы могли изменить состояние в редукторе на основе этого действия.Вот код для
//do this in componentDidMount of your app root component
import axios from "axios";
//get data
var x = [];
axios.get("https://jsonplaceholder.typicode.com/users")
.then(res => {
x= res.data
store.dispatch(type: "ACTION_TYPE", payload: x) //action type could be anything,
})
//reducer
const initState = {
count: 0,
data: x
}
const reducer = (state = initState , action) =>{
const newState = {...state};
switch(action.type){
case "ACTION_TYPE": //this should match action you have dispatched
newState.count = action.payload.count;
newState.data = action.payload.data;
return newState;
}
}
и в вашем компоненте
import { connect } from 'react-redux';
class YourComponent extends React.Component{
render(){
return (
<div>
{this.props.data}
</div>
)
}
}
function mapStateToProps(state){
return{
count: state.count,
data : state.data
}
}
export default connect(mapStateToProps)(YourComponent)
Обратите внимание, что если ваши данные являются массивом, вы, вероятно, должны сначала отобразить массив через массив и сгенерировать элемент для каждого значения, дляпример:
render(){
let newData = [];
this.props.data.forEach((data, i) => {
newData.push(<div> {data} </div>);
});
return(
{newData}
);
}