Я пытаюсь использовать Axios с редуктором Redux и пытаюсь сохранить ответ в состояние, чтобы я мог распечатать его, но когда я пытаюсь распечатать изображение на странице, он возвращает typeError: состояние не определено.Я могу console.log получить ответ, но не могу понять, как его сохранить или заставить его работать правильно. Просмотр изображения
import Axios from 'axios';
const initState = {
some: '',
cat: '',
}
const reducer = (state = initState, action) => {
switch (action.type) {
case 'GET_NEW_CAT':
Axios.get('http://aws.random.cat/meow')
.then((response) => {
console.log(response.data.file)
return state.cat = response.data.file
})
.catch((err) => console.log(err));
break;
default:
return state;
}
}
export default reducer;
Редактировать: Здесь находится состояние диспетчеризации и отображения:
import React from 'react';
import { connect } from 'react-redux';
const CatsPage = (props) => {
return (
<div>
<button onClick={props.getNewCatImage}>Get new cat image</button>
<img src={props.cats} alt='Cat'/>
</div>
)
}
const mapStateToProps = state => {
return {
cats: state.cat
};
};
const mapDispatchToProps = dispatch => {
return {
getNewCatImage: () => dispatch({type: 'GET_NEW_CAT'}),
}
}
export default connect(mapStateToProps, mapDispatchToProps)(CatsPage);