gpt4 book ai didi

javascript - React.js 上的条件渲染

转载 作者:行者123 更新时间:2023-12-01 01:55:01 24 4
gpt4 key购买 nike

render() {
const tableStyle = this.getTableStyle();
const tableSettings = this.getTableSettings();

return (
<div style={tables}>

<TablePosition
contextMenuOn={true}
step={this.props.step}
pdfData={this.props.pdfData}
tableSettings={tableSettings}
tableStyle={tableStyle}
fileName={this.state.fileName}
tableSize={this.getTableSize()}
tableOffset={this.state.tableOffset}
desiredWidth={700}
updateXOffset={x => this.updateXOffset(x)}
updateYOffset={y => this.updateYOffset(y)}
markTable={() => this.markTable()}
setOutputLabels={(row, col, val) => this.setOuputLabels(row, col, val)}
/>
</div>
);

if (!this.props.isThirdStep) {
return (
<div>
<div style={sideBySide}>
<PDFViewer
isThirdStep={this.props.isThirdStep}
paginationCallback={this.handlePageChange}
pdfData={this.state.pdfData}
desiredWidth={600}
selectedPage={this.props.savedPageNo}
/>
</div>
</div>
);
} else {
return (
<div>
<ReferenceMenu />
</div>
);
}
}

在我的组件的渲染中,我尝试根据某些条件渲染多个组件。

因此,基本上,TablePoisition 始终保留在那里,PDFViewerReferenceMenu 有条件地呈现。

但是,我在这两种情况下看到的只是 TablePosition 组件。

这不应该起作用吗?

最佳答案

正如所解释的,由于您想要组合两个组件,因此您应该更改渲染逻辑。一个组件将始终保留在那里,而另一个组件将有条件地渲染。因此,您需要在同一个返回中渲染最后一个组件和粘性组件。我会做这样的事情:

renderPDFViewer = () => (
<div>
<div style={sideBySide}>
<PDFViewer
isThirdStep={this.props.isThirdStep}
paginationCallback={this.handlePageChange}
pdfData={this.state.pdfData}
desiredWidth={600}
selectedPage={this.props.savedPageNo}
/>
</div>
</div>
);

render() {
const tableStyle = this.getTableStyle();
const tableSettings = this.getTableSettings();

return (
<div>
<div style={tables}>

<TablePosition
contextMenuOn={true}
step={this.props.step}
pdfData={this.props.pdfData}
tableSettings={tableSettings}
tableStyle={tableStyle}
fileName={this.state.fileName}
tableSize={this.getTableSize()}
tableOffset={this.state.tableOffset}
desiredWidth={700}
updateXOffset={x => this.updateXOffset(x)}
updateYOffset={y => this.updateYOffset(y)}
markTable={() => this.markTable()}
setOutputLabels={(row, col, val) => this.setOuputLabels(row, col, val)}
/>
</div>

{
!this.props.isThirdStep
? this.renderPDFViewer()
: ( <div><ReferenceMenu /></div> )
}
</div>
);
}

关于javascript - React.js 上的条件渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51108712/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com