javascript - 如何使函数在 onclick 中使用
问题描述
我正在尝试制作 2 个函数以在 onclick 事件中使用。
我在stackoverflow中找到的表格是这样的。
onclick={()=>{ f1(); f2() }}
我想让 f1() 显示其中包含图像的模态。我做的代码是这样的。
function f2() {
setIsOpen(!isOpen);
return(){
<Modal isOpen={isOpen} >
<div className='put_img'>
<img src='img/img8.jpg' style={{ width: "100%" }} />
</div>
</Modal>
}}
它不工作。可以帮助使用此代码吗?谢谢你
解决方案
你不会在 React 的点击处理程序中渲染元素。相反,您设置了一个状态成员(您似乎正在这样做),并在您的主要组件功能中使用该状态成员来决定是否呈现您想要显示的内容。
所以
const YourComponent = () => {
const [isOpen, setIsOpen] = useState(false);
const f1 = () => {
// ...whatever f1 does...
};
const f2 = () => {
setIsOpen(o => !o); // Generally best to use the callback version when setting based on existing state
};
// ...
return (
<YourOtnerStuff onClick={() => { f1(); f2(); }} />
<Modal isOpen={isOpen} >
<div className='put_img'>
<img src='img/img8.jpg' style={{ width: "100%" }} />
</div>
</Modal>
);
};
当你设置状态时,React 会再次调用你的组件函数来重新渲染。你会得到你设置的值useState
。
推荐阅读
- pyspark - 如何使用 Pyspark / Dataproc 监控 jvm 堆大小
- arduino - 来自按钮增量而不是高/低的 Arduino 数据值
- java - Java - 如何使用 jmap 定位内存泄漏的原因
- node.js - Google App Engine 上的高并发系统
- dictionary - 在 Golang 中添加键映射的安全方法
- java - 如何使用Java将字符串插入文件中的特定位置?
- javascript - 如何在 javascript 中将日期转换为 OLE 自动化日期
- python - 使用另一列的值获取一列的值
- python - 如何从 json 注释图像制作 tfrecords
- haskell - 如何在 Haskell 中生成随机 Int?