我在一些項目中使用React.js,並且我想只在條件爲真的情況下發送道具,我不想要的是發送null值或空的東西,如下面的示例(或this question):發送道具只有當react.js中的條件成立時
return (
<SomeComponent
prop1={foo === true ? "value" : null}
/>
);
我想如果條件爲真,像這樣全送道具(不僅是它的值):
render: function(){
...
return (
<SomeComponent
{if(foo === true) prop1="value"}
/>
);
}
我也試過
...
var prop1;
if(foo === true) prop1 = "prop1='value'";
return <SomeComponent {prop1} />;
當然像
...
return (
</SomeComponent
{foo === true ? prop1="value" : ""}
/>
);
在任何情況下,我得到了一個錯誤Unexpected token
和,我一直在尋找,但我沒有發現任何東西,有沒有辦法做到這一點的反應呢?
謝謝。
爲什麼你關心如果你傳遞一個未定義的屬性? –
同意,什麼是實際目的?該組件仍然必須知道該道具是否通過以處理這兩種情況。到目前爲止,這似乎是一個XY問題 - 你能解釋一下用例嗎? –
基本上我很好奇你是否可以做出反應,我認爲代碼看起來更乾淨,至少使用@OmriAharon解決方案,即使考慮到組件也必須檢查兩種情況 –