javascript - 如何根据这些组件中定义的某些操作在页面上呈现不同的组件?
问题描述
如果我有以下 App 组件:
function App() {
if(test)
return <Component1 />;
else
return <Component2 />;
}
但是test
(true/false) 的值取决于两个相应组件内的按钮。单击该按钮应翻转 的值test
(即设置为true
if false
,反之亦然)。我将如何实现这一点?
解决方案
您test
在 App 级别定义并传递回调
function App() {
let [test, setTest] = useState(false)
if(test)
return <Component1 setTest={setTest}/>;
else
return <Component2 setTest={setTest}/>;
}
在组件内部,您可以实现翻转逻辑,例如
props.setTest(ps=>!ps);
推荐阅读
- javascript - Salesforce 应用程序上的错误:当我们只运行一次时,在桌子上查找元素工作正常。如果我们使用数据提供者对其他集合重复相同的操作
- r - 将变量定义为引导包引导代码的输出
- javascript - 确定承诺需要多长时间
- list - 使用prolog(地铁站)计算直接连接到给定站的站数
- javascript - 如何在 ccxt 中使用 fetchBalance() 参数
- go - 了解切片索引语义
- php - 如何使用 PHP Curl 检索 PayPal JSON 交易详情
- swift - Swift 包调用 /usr/bin/swift 错误并显示“无法打开 macho 文件...太多级别的符号链接”仅在从 Xcode 运行时
- openapi - 如何在 Open API (v3) 中对必填字段进行分组?
- python - 高效的python循环结构重复一次