2017-02-01 14 views
0

Это скорее вопрос design/engineering, но он относится к React. Есть ли pros и/или cons при использовании этих двух типов state designs:ReactJS: Заявление о выводе по явным заявкам государства v.s

Метод 1. Я хочу, чтобы следить за выбранной категории и выбранной подкатегории, так что я создал state так:

this.setState({ 
    selectedCategory: "Appliances", 
    selectedSubCategory: null 
}) 

Способ 2. Я хочу, чтобы следить за выбранной категории/подкатегории, так настройки я мое состояние, зная, что я могу использовать switch заявления позже интерпретировать информацию:

this.setState({ 
    selection: "Appliances", 
    type:"Category" 
}) 

Конечно, второй способ может проявляться как множество различных типов установок (например, объект и т. Д.). Я просто хочу знать, достаточно ли наиболее очевидного способа хранения state (метод 1) в расширенных прецедентах. Кто-нибудь даже использует метод 2?

ответ

1

Состояние в реактиве существует для управления методом визуализации React.Component. Это полностью зависит от вас, как вы организуете государство. Возможно, у вас есть свой дизайн, где React не должен ограничивать вас.

Переключатель заявление о состоянии v.s явные государственные декларации

Ну, вам нужно иметь некоторые условия. Обычно я бы организовал простейшую возможную структуру состояния и имел некоторые случаи if/else/switch, если только государство не является тем, что нужно визуализировать.

Хорошо, вы говорите, что если значение состояния напрямую связано с чем-то визуализируемым, то операторы switch просто добавляют ненужный уровень сложности.

Нет, использование условий является обязательным.

Если вы не должны визуализировать сам стат, или f(state), где f является функцией изменения.

+0

Хорошо, так вы говорите, что если значение состояния напрямую связано с чем-то визуализируемым, то операторы switch просто добавляют ненужный уровень сложности, где они также могут быть более простой формой состояния ха-ха ?. Я думаю, что трудно объективно относиться к проектным решениям, поэтому я спросил, но спасибо за то, что дал мне некоторое представление. –