Reactjs 有条件地将prop传递到React中的组件中

Reactjs 有条件地将prop传递到React中的组件中,reactjs,Reactjs,我正在学习React,并具有以下组件: <DialogActions upperLine className={isNewDataSource ? classes.dialogActions : ''} > </DialogActions> 若我通过上行,它会给组件提供某些样式。但问题是,是否有可能像{isNewDataSource&&upperLine}一样有条件地传递upperLine。如果我使用此代码,那么我会发现无法找到upperLine的错误

我正在学习React,并具有以下组件:

<DialogActions
  upperLine
  className={isNewDataSource ? classes.dialogActions : ''}
   > </DialogActions>


若我通过上行,它会给组件提供某些样式。但问题是,是否有可能像{isNewDataSource&&upperLine}一样有条件地传递upperLine。如果我使用此代码,那么我会发现无法找到upperLine的错误,因此我需要您的帮助。

您应该能够执行
upperLine={false}

否则,可以使用一些智能对象分解,如下所示:

{upperLine && ...{ upperLine: YOURVALUE }}

这样,道具只有在计算结果为true(有值)时才会通过。

有条件通过/不通过道具的另一种方法是这样做

<DialogActions
  {...(myCondition ? { upperLine: "whatever value you want" } : {})}
/>

假设
大写
对话框操作的有效propType

在实现中定义属性时,如果没有值, 例如:


upperLine={isNewDataSource}
当一个prop被这样定义时,它的AFAIK/通常是一个
boolean
,因此你可以说通过
upperLine={false}
upperLine={someBooleanProperty}
@Sukich>使它有条件化。。。。这让我相信这里还有另一个问题。。。“如果我使用此代码,则我得到无法找到的大写错误”能否请您提供
DialogActions
propTypes
?@Sukich您看到我的答案了吗
<DialogActions
  upperLine  <------ // like this
/>
<DialogActions
  upperLine={false}  <------ // or true, or supply a property to bind to
/>