【发布时间】:2019-09-05 16:28:08
【问题描述】:
这让我发疯了。 onClick 处理程序在第二次点击时触发。我不知道为什么。功能组件非常简单,应该可以工作。该组件是另一个组件的一部分。所以是个孩子。父母补偿在名单上。这就是整个设置。如果我第一次点击我在调试中看到它不会触发事件。 IconButton 的样式跨度在第一次单击时发生变化。奇怪
const MoreInfo = () => {
const [more_info, setMore_info] = useState("test");
const handleExpand = event => {
if (icon_expand === "expand_more") {
setMore_info("test2");
}
};
return (
<IconButton onClick={handleExpand} aria-label="location" size="small">
<Icon style={{ fontSize: 12 }}>{icon_expand} </Icon>
</IconButton>
);
};
export default MoreInfo;
【问题讨论】:
-
什么是icon_expand?它来自哪里?
-
它是一个状态变量,但它很重要,因为在第一次单击时它没有触发 CLIK handleExpand,我不知道为什么。它在第二次单击时工作(“调试捕获并进入功能”)。我什至将函数组件重写为类,结果仍然相同。组件中按钮的处理方式是否有任何限制?
标签: reactjs material-ui