Я новичок в Redux, и после просмотра нескольких уроков у меня все еще есть несколько вопросов:
1)
После создания моего store
у меня есть:
ReactDOM.render(<Provider store={store}><BrowserRouter><App/></BrowserRouter></Provider>, document.getElementById('root'));
Переходя к компоненту App
, я определяю:
function mapStateToProps(state) {
return {
posts: state.posts,
comments: state.comments
}
}
function mapDispatchToProps(dispatch) {
return bindActionCreators(actions, dispatch)
}
Откуда state
и dispatch
? Это автоматически относится к состоянию и диспетчеризации store
, так как я подключил его к своему компоненту?
2) Один из моих компонентов React имеет форму, которая при отправке вызывает функцию:
handleSubmit(event) { ... }
Итак, в конструкторе этого компонента у меня есть:
constructor() {
super()
this.handleSubmit = this.handleSubmit.bind(this);
}
Всегда ли необходимо вызывать super()
при объявлении компонента класса React?
Почему мне нужно сделать этот тип привязки там?
3) После отправки этой формы я отправляю действие под названием addPost
.
Как это «пойдет» на редуктор? Это просто потому, что редуктор был задан, когда я создал хранилище и, используя mapDispatchToProps(dispatch)
, я "дал" Redux знать, какие действия можно отправить этому редуктору?
4) Редуктор просто возвращает объект state
- где логика, которая фактически "сохраняет" это состояние в хранилище? Это скрыто?
Извините за длинный пост и спасибо!