что такое реквизит в редуксе, как к нему привязываются методы - PullRequest
1 голос
/ 28 сентября 2019

Я слежу за учебником удеми для строителя гамбургеров в реактивной редукции

           <div>
            <Burger ingredients={this.props.ings} />
            <BuildControls
                ingredientAdded={this.props.onIngredientAdded}
                ingredientRemoved={this.props.onIngredientRemoved}
                disabled={disabledInfo}
                purchasable={this.updatePurchaseState(this.props.ings)}
                ordered={this.purchaseHandler}
                price={this.props.price} />
             </div>

Ниже приводится мой mapDispatchToProps, куда я отправляю редуктор

const mapDispatchToProps = dispatch => {
    return {
        onIngredientAdded: (ingName) => dispatch(actions.addIngredient(ingName)),
        onIngredientRemoved: (ingName) => dispatch(actions.removeIngredient(ingName)),
        onInitIngredients: () => dispatch(actions.initIngredients()),
        onInitPurchase : () => dispatch(actions.PurchaseInit())
    }
}

1) Но я запутался,как мы вызываем onIngredientAdded и onIngredientRemoved как реквизиты

2) У меня есть mapstateToProps, который отображает мое состояние на реквизиты, чтобы я мог вызывать все свои свойства состояния как реквизиты, но я не добавил ни один из этих методов, какМогу ли я назвать свои локальные методы как реквизиты

3) Я пропустил какую-либо тему, пожалуйста, помогите мне

1 Ответ

1 голос
/ 28 сентября 2019

Как упоминалось @ person27, замена при чтении документации не предусмотрена.Я думаю, что вас смущает использование двух методов для сопоставления данных с реквизитами.

mapStateToProps создает реквизиты из фрагментов данных, хранящихся в вашем состоянии .Это статические (но, возможно, изменяющиеся) значения, которые необходимо использовать в вашем компоненте.Эти значения обычно совпадают с переменными (числа, массивы, объекты и т. Д.).

mapDispatchToProps создает подпорки из функциональных действий , которые выполняются с диспетчеризацией функция для внесения новых изменений в этом состоянии.Они используются для создания функций, которые будет вызывать ваш компонент.

Хранилище Redux содержит все данные для всего приложения , поэтому цель использования этих методов - указатькакие именно данные / действия будут использоваться вашим конкретным компонентом.Использование connect в компоненте ничего не изменит, если данные состояния и действия не указаны в этих функциях, так как по умолчанию он вообще не соединяет никакие данные.

Ваше хранилище Redux похоже на большойменю всех действий и данных о состоянии в вашем приложении, и вы используете эти методы, чтобы упорядочивать только те ингредиенты, которые вы хотите добавить в свой бургер (компонент).

Надеюсь, это поможет, я нахожу это немного запутаннымсначала я.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...