我试图澄清一些关于React中的布尔属性的困惑(最好是来自权威人士。)>
假设某人的MyComponent
具有几个布尔属性prop1
,prop2
...
首先:布尔属性似乎与其他属性一样:您可以在defaultProps or in destructuring params中定义默认值:
const MyComponent = ({ prop1, prop2 }) => ( ... ) MyComponent.defaultProps = { prop1: false, prop2: true, }
或等效地(否?)
const MyComponent = ({ prop1 = false, prop2 = true }) => ( ... )
尚不清楚如何传递值。同样,自然的“反应风格”似乎是
<MyComponent prop1={ BOOLEAN_EXPRESION1 } prop2={ BOOLEAN_EXPRESION2 } />
...包括static literals(
false/true
)。
但是,it's also stated传递布尔属性的正确方法(推荐?)是属性的存在/不存在,如HTML5 dictates。
因此,应该写<MyComponent prop1={true} prop2={false} />
而不是<MyComponent prop1 />
。
我的问题是:
传递布尔道具的正确方法是什么?都可以接受吗?
如果是HTML5样式是推荐的(或正确的)方式,如何处理动态值?
此外,如果HTML5样式可以接受,那么默认值呢?在上面的示例中(默认情况下prop2
为true
),如果我写<MyComponent />
,prop2
会取值吗?
我正试图澄清一些关于React中布尔属性的困惑(最好是来自权威人士)。假设一个具有MyComponent且具有多个布尔属性prop1,prop2 ...首先:这似乎是...
让我告诉您有关传递布尔值的信息
- 传递布尔道具的正确方法是什么?都可以接受吗?
取决于用例。有没有听说过分离关注点?同样的原则在这里适用。在有意义的地方进行处理。您可以在组件中使用变量而不是defaultProps
(React方法)。如果是开关,则将其从父级传递下来。