Javascript ReactJS:state v.s显式状态声明上的Switch语句

Javascript ReactJS:state v.s显式状态声明上的Switch语句,javascript,reactjs,state,Javascript,Reactjs,State,这更像是一个设计/工程问题,但它确实与反应有关。在使用这两种州设计时,是否有任何优点和/或缺点: 方法1。我想跟踪所选类别和所选子类别,因此我设置如下状态: this.setState({ selectedCategory: "Appliances", selectedSubCategory: null }) 方法2。我希望跟踪所选类别/子类别,以便设置我的状态,知道我以后可以使用switch语句来解释信息: this.setState({ selection: "A

这更像是一个设计/工程问题,但它确实与反应有关。在使用这两种州设计时,是否有任何优点和/或缺点:

方法1。我想跟踪所选类别和所选子类别,因此我设置如下状态:

this.setState({
    selectedCategory: "Appliances", 
    selectedSubCategory: null
 })
方法2。我希望跟踪所选类别/子类别,以便设置我的状态,知道我以后可以使用switch语句来解释信息:

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

当然,第二种方式可以表现为许多不同类型的设置,如对象等。。我只是想知道,在高级用例中,存储状态方法1的最明显方式是否足够。是否有人使用方法2?

React中的状态存在以控制React.Component的渲染方法。这完全取决于你如何组织国家。 你可能有自己的设计,而React根本不应该限制你

状态v.s显式状态声明上的Switch语句

嗯,你需要有一些条件。 通常我会组织尽可能简单的状态结构,并有一些if/else/switch情况,除非状态是应该呈现的状态


好的,你是说,如果state的值与呈现的内容直接相关,那么switch语句只是增加了不必要的复杂性

不,使用条件是必须的


除非你应该呈现stat本身,或者某个fstate,其中f是一个修改函数。

好的,那么你是说如果state的值直接与呈现的内容相关,那么switch语句只是增加了不必要的复杂性,因为它们可能也是一种更简单的state形式,哈哈?。我认为在设计决策上很难做到客观,因此我提出了这个问题,但谢谢你给了我一些见解。