только одну операцию или можно делать сложные action ?
Допустим у меня есть компонент у которого можно добавить текстовое поле и удалить тестовое поле ну и отредактировать данные в текстовом поле. Все это завязано в redux.
Получается я делаю Action типа EDIT_PROMO_MESSAGE
export function editPromoMessage(operationType, payload) {
return {
type: EDIT_PROMO_MESSAGE,
operationType,
payload,
};
}
Я выбираю тип операции в operationType , и уже в редьюсере разруливаю что сделать добавить/удалить/отредактировать тестовое поле.
Так можно делать или лучше на каждую из операций делать отдельный action?
можно, если не запутаешься потом
я думаю разные экшены на разные действия лучше. плюс в payload не пихать лишнего, если не надо. для удаления допустим только id передаешь, а для добавления - целый объект, который добавить в массив
operationType не по flux, используй meta
Я предпочитаю, чтобы мои экшены всегда следовали сигнатуре { type: string, payload: any, scope: string } В свойстве type я выражаю отдельное действие, как результат совершения любой операции, синхронной или асинхронной. В последнем случае type отражает someActionName+pending/success/failure статусы через постфиксы
Обсуждают сегодня