gpt4 book ai didi

reactjs - 根据条件渲染其中一个 child

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

我正在尝试为条件渲染创建一个 switch HOC,它的行为类似于 ReactTS 中的 switch 语句

<Switch>
<Case condition={cond1}>
Hello
</Case>
<Case condition={cond2}>
World
</Case>
<Default>
Hi stranger
</Default>
</Switch>
如果 cond1 为真,则呈现“Hello”。
如果 cond1 为假但 cond2 为真,则渲染“世界”。
如果两个条件都为假,则呈现“嗨陌生人”。

最佳答案

我在 JS 中创建了三个文件进行测试,一切正常。
切换.js

class Switch extends React.Component {
getComponentToRender() {
return React.Children.toArray(this.props.children).find(function (child) {
if (child.type.name === "Case") {
if (child.props.condition) {
return true;
}
}
if (child.type.name === "Default") {
return true;
}
return false;
});
}

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

export default Switch;
Case.js -> 需要确保该组件的条件为 bool 值。
export default function(props) {
return props.children;
}
默认.js
export default function(props) {
return props.children;
}
使用上述文件作为
<Switch>
<Case condition={false}>Hello</Case>
<Case condition={false}>World</Case>
<Default>Hi</Default>
</Switch>

关于reactjs - 根据条件渲染其中一个 child ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66610955/

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