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