【发布时间】:2020-11-29 22:11:57
【问题描述】:
我想要的是点击栏时调用openMenu函数,点击关闭图标时调用closeMenu函数。
我注意到 icon.callFunc == openMenu 总是错误的。 Logs
这是整个组件的来源。
const MenuBar = () => {
const onPressHandler = () => {
setIcon({
icon: icon.icon === 'bars'? "window-close" : 'bars',
callFunc: icon.callFunc == openMenu ? closeMenu : openMenu
});
console.log(icon.callFunc);
icon.callFunc()
}
const closeMenu = () => {
console.log("Closed");
}
const openMenu = () => {
console.log("Opened");
}
const [icon, setIcon] = useState({
icon: "bars",
callFunc: openMenu
})
return (
<TouchableOpacity
onPress={onPressHandler}>
<Icon
name={icon.icon}
size={25}
color="white"
solid
style={{ paddingLeft: 14, padding: 20 }} />
</TouchableOpacity>
);
}
有什么建议吗?
【问题讨论】:
-
我猜你应该使用
icon.callFunc === openMenu,而不是icon.callFunc == openMenu。如果你的类型不同,==会失败 -
也试过了,还是不行!
标签: reactjs react-native jsx