reactjs - 使用 React Hooks 的条件
问题描述
如何在 React Hooks 中使用条件?我收到此错误:由于我的 {content},对象作为 React 子项无效
let content = favorit ? (
<MaterialIcons
style={styles.icon}
name={'favorite'}
size={33}
color={'red'}
onPress={() => {
setFavorit(_delFromDB(lokal.id));
}}
/>
) : (
<MaterialIcons
style={styles.icon}
name={'favorite'}
size={33}
color={'red'}
onPress={() => {
setFavorit(_saveToDB(lokal.id));
}}
/>
);
React.useLayoutEffect(() => {
navigation.setOptions({
headerRight: () => {
return { content };
},
});
}, [navigation]);
解决方案
发生这种情况是因为在您的钩子中您正在返回一个对象。
试试这个方法:
let HeaderRight = () => favorit ? (
<MaterialIcons
style={styles.icon}
name={'favorite'}
size={33}
color={'red'}
onPress={() => {
setFavorit(_delFromDB(lokal.id));
}}
/>
) : (
<MaterialIcons
style={styles.icon}
name={'favorite'}
size={33}
color={'red'}
onPress={() => {
setFavorit(_saveToDB(lokal.id));
}}
/>
);
React.useLayoutEffect(() => {
navigation.setOptions({
headerRight: () => <HeaderRight />,
});
}, [navigation]);
推荐阅读
- java - 在 Java 中使用 Zimbra 获取日历 REST Api
- php - Na latin-extendend 在 Wordpress 的自定义主题中
- python - 如何克服 Python 的两个补码表示法?
- android - 如何在 RecyclerView 中的最后一个元素之后创建一个空白空间?
- java - Spring中具有多个数据源的事务
- javascript - 如果 iframe 重新加载时焦点仍在输入上,则重新运行 jQuery 函数?
- python - Mac OS 10.9 的 Poppler 安装
- rpa - 虚拟机断开连接时,BOT 无法正常工作
- c# - 提交表单时复选框列表丢失
- azure - 查询不活动后 Azure SQL 超时