gpt4 book ai didi

reactjs - 为什么我收到错误 "expressions must have one parent element",如何解决此问题?

转载 作者:行者123 更新时间:2023-12-03 12:59:38 26 4
gpt4 key购买 nike

我对 React 比较陌生,我想知道这里的标准是什么。

想象一下我有一个像这样的 react 路由器:

<Router history={history}>
<Route path="/" component={App}>
<Route path="home component={Home} />
<Route path="about" component={About} />
<Route path="inbox" component={Inbox} />
<Route path="contacts" component={Contacts} />
</Route>
</Router>

现在,如果 prop.mail 设置为 false,我想删除两条路由,因此明智的做法如下所示:

<Router history={history}>
<Route path="/" component={App}>
<Route path="home component={Home} />
<Route path="about" component={About} />

{ if.this.props.mail ?
<Route path="inbox" component={Inbox} />
<Route path="contacts" component={Contacts} />
: null }

</Route>
</Router>

但是有 2 条路线,React 返回错误:

expressions must have one parent element.

我不想在这里使用多个if。处理这个问题的首选 React 方式是什么?

最佳答案

将它们放入数组中(也分配键):

{ if.this.props.mail ? 
[
<Route key={0} path="inbox" component={Inbox} />,
<Route key={1} path="contacts" component={Contacts} />
]
: null }

使用最新的 React 版本,您可以尝试 React.Fragment 也,像这样:

{ if.this.props.mail ? 
<React.Fragment>
<Route path="inbox" component={Inbox} />,
<Route path="contacts" component={Contacts} />
</React.Fragment>
: null }

关于reactjs - 为什么我收到错误 "expressions must have one parent element",如何解决此问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48886726/

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