Я учусь использовать реакцию и редукцию.
Итак, у меня есть несколько вопросов:
Я структурировал таким образом:
редукторы. js
const initialState = {
meetings: []
}
export const reducer = (state = initialState, action) => {
switch(action.type){
case 'MEETINGS_LIST':
return [...state.meetings, action.meetings];
default:
return state;
}
}
export default reducer;
действие. js
export const meetingsList = (meeting) => {
return(dispatch) => {
fetch(`https://jsonplaceholder.typicode.com/users`)
.then(
res => res.json(),
error => console.log('An error occurred.', error))
.then(meetings => {
dispatch({
type: 'MEETINGS_LIST',
meetings: meetings
})
})
}
}
Правильно делать выборку в действиях. js ? Или я должен делать в редукторах?
В любом случае моя проблема на главной странице,
class MeetingsList extends Component {
constructor(props){
super(props);
this.state = {}
}
componentDidMount(){
this.props.meetingsList();
}
render(){
console.log(this.props.meetings)
return(
<div>
</div>
)
}
}
function mapStateToProps(state){
return {meetings: state}
};
function mapDdispatchToProps(dispatch){
return {
meetingsList: (meetings) => dispatch(meetingsList(meetings))
}
}
export default connect(mapStateToProps, mapDdispatchToProps)(MeetingsList)
Я бы хотел напечатать содержимое реквизита на экране. Это массив [10], я думал об использовании карты, чтобы иметь возможность печатать каждый массив, но каждый раз, когда я пытаюсь это сделать, он говорит мне, что невозможно использовать карту неопределенного типа. Как я могу это сделать?
Спасибо