Reactjs 创建条件内部渲染方法时不显示芯片按钮
我试图呈现一个特定的芯片按钮的基础上,如果它被点击或没有。为此,我在组件状态上设置了一个变量,用于保存所有按钮属性。但是,render方法中的if语句没有显示按钮。但是,当我把它放在if语句之外时,它就工作了 列状态变量的每个元素,都是一个芯片按钮状态 为了使其正常工作,我在render()上使用了以下代码: 我希望无论show属性如何,芯片按钮都会显示在屏幕上,但是材质ui应用了不同的设计风格。如果显示为真,则芯片按钮的显示将与假不同。现在,它没有显示芯片按钮,就像以前一样。整个Reactjs 创建条件内部渲染方法时不显示芯片按钮,reactjs,material-ui,Reactjs,Material Ui,我试图呈现一个特定的芯片按钮的基础上,如果它被点击或没有。为此,我在组件状态上设置了一个变量,用于保存所有按钮属性。但是,render方法中的if语句没有显示按钮。但是,当我把它放在if语句之外时,它就工作了 列状态变量的每个元素,都是一个芯片按钮状态 为了使其正常工作,我在render()上使用了以下代码: 我希望无论show属性如何,芯片按钮都会显示在屏幕上,但是材质ui应用了不同的设计风格。如果显示为真,则芯片按钮的显示将与假不同。现在,它没有显示芯片按钮,就像以前一样。整个 <G
<Grid item className={classes.chipWrapper}>
<Chip
label='Chip 1'
color="secondary"
deleteIcon={<DoneIcon />}
id='1'
onClick={this.handleChip}
/>
</Grid>
因此,可见性当前受“显示”属性的影响。在渲染中使用“查找”的方式不正确。 Find只返回满足条件的项 e、 g 改用地图
this.state.columns.map(item => {
if (item.id === '1'){
return (<div> Inside </div>)
}
})
this.state.columns.map(项=>{
如果(item.id=='1'){
返回(内部)
}
})
为什么要将完全相同/相同的网格/芯片传递给两个三值选项?另外,为什么setState-obj.\u id中的状态变量属性名称不同。为什么下划线?这是一个好问题。使用obj.id不起作用。我传递相同的网格只是为了测试屏幕上是否出现了一些东西。当添加以下调试this.state.columns.find(item=>{console.log(item.id,typeof item.id)if(item.id==='1'时,您会得到什么{….string。它实际上进入了正确的条件,它只是不返回可见的组件。在此.state.columns.find(项=>{…返回此.state.columns.find(项=>{但是show属性不适用于芯片。它应该显示芯片,而不考虑show属性。show属性指的是我要显示/隐藏的表列。芯片将只显示列是显示还是隐藏的,因此它应该始终可见
<Grid item className={classes.chipWrapper}>
<Chip
label='Chip 1'
color="secondary"
deleteIcon={<DoneIcon />}
id='1'
onClick={this.handleChip}
/>
</Grid>
item.show === true
var found = items.find(function(item) {
return item > 10;
})
this.state.columns.map(item => {
if (item.id === '1'){
return (<div> Inside </div>)
}
})