我試圖渲染一個條件,如果在我的構造函數的狀態變量內。構造函數的this.state中的條件IF語句Reactjs
我原來的代碼是這樣的,它工作
constructor(props, context){
super(props, context);
}
this.state={
... // the rest of my state
columns: [{
render:
row => (
row.row.exported === 0 ?
<span className={styles.centered} >
{
row.value === true ? <img src={checkedImage} />
: <img src={uncheckedImage} />
}
</span>: ""
),
maxWidth: 60,
hideFilter: true,
style: {textAlign:"center"},
}]
}
,我希望做這樣的事情:用
constructor(props, context){
super(props, context);
this.state={
... // the rest of my state
columns:
render:
if(this.state.profile.role == 'dba' || this.state.profile.role == 'both'){
row => (
row.row.exported === 0 ?
<span className={styles.centered} >
{
row.value === true ? <img src={checkedImage} />
: <img src={uncheckedImage} />
}
</span>: ""
}
),
maxWidth: 60,
hideFilter: true,
style: {textAlign:"center"},
}]
}
}
在我的渲染方法IM反應表所以它看起來像這樣:
Render方法
render(){
return(
<ReactTable columns={this.state.columns} />
)
}
是否有可能或有任何變通來實現這一目標?
你爲什麼一直JSX狀態......應該不是狀態只保留純數據? – wesley6j
你可以使用renderif進行條件渲染 – user2906608
@ wesley6j對於React來說,我會怎麼做呢? – Emmanuel