Я изучаю React и следуя нескольким учебникам, я натолкнулся на этот код:
import React from 'react';
import TodosView from 'components/TodosView';
import TodosForm from 'components/TodosForm';
import { bindActionCreators } from 'redux';
import * as TodoActions from 'actions/TodoActions';
import { connect } from 'react-redux';
@connect(state => ({ todos: state.todos }))
export default class Home extends React.Component {
render() {
const { todos, dispatch } = this.props;
return (
<div id="todo-list">
<TodosView todos={todos}
{...bindActionCreators(TodoActions, dispatch)} />
<TodosForm
{...bindActionCreators(TodoActions, dispatch)} />
</div>
);
}
}
Это приложение todo, и это основная страница, он загружает еще 2 components
. Я понял почти все, но я не мог получить несколько вещей:
- Что делает
connect
? Я знаю, что вам нужно передать 4 параметра (я не мог точно определить, каковы эти 4 переменные). - Как реализована декорация
@connect
, как будет выглядеть код после транспиляции?
Заранее спасибо:)