gpt4 book ai didi

javascript - 如何在 jsx 中使用 if else 条件?

转载 作者:行者123 更新时间:2023-11-30 09:24:49 25 4
gpt4 key购买 nike

class Wrapper extends React.Component {
content() {
if (this.props.isLoading) {
return (
<Layout>
<Loader />
</Layout>
);
} else if (this.props.isError) {
return (
<Layout>
<Error errorMsg={this.props.error} />
</Layout>
);
} else {
return (
<Layout>
{this.props.isSuccess ? <h1>success</h1> : <h1>some failure</h1>}
</Layout>
);
}
}

render() {
return this.content();
}
}

export default Wrapper;
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>

我有上面的代码,这里我在每种情况下都使用布局,实际<Layout>组件真的很重,所以我只想使用一次布局并尝试重写代码,如下面的代码。但它除了布局之外不渲染任何东西。

class Wrapper extends React.Component {
content() {
return (
<Layout>
{(()=>{
if (this.props.isLoading) {
<Loader />
}else if(this.props.isError){

<Error errorMsg={this.props.error} />

}else if(this.props.isSuccess){

<h1>success</h1>

}

})()}

</Layout>
);
}

render() {
return this.content();
}
}

export default Wrapper;

最佳答案

这样的事情怎么样?

class Wrapper extends React.Component {
render() {
return (
<Layout>
{this.props.loading &&
<Loader />
}
{this.props.error &&
<Error errorMsg={this.props.error} />
}
{this.props.succes &&
<h1>success</h1>
}
</Layout>
);
}
}

export default Wrapper;

关于javascript - 如何在 jsx 中使用 if else 条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49617247/

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