javascript - 按下 TouchableOpacity Avatar 时将对象值绑定到组件中
问题描述
我的目标是在单击婴儿头像时显示绑定到该按钮的叠加层。让我知道如何解决它。
const OverlayForm = ({ baby }) => {
return <BabyProfile baby={baby} />;
}
return (
<React.Fragment>
<View style={styles.main}>
{Babies.map((baby: Baby, index) => (
<View>
<TouchableOpacity
style={styles.button}
onPress={() => {
toggleOverlay;
myValue = baby;
}}
key={index}
>
<AvatarData baby={baby} />
</TouchableOpacity>
</View>
))}
<Overlay isVisible={visible} onBackdropPress={toggleOverlay}>
{OverlayForm(myValue)}
</Overlay>
</View>
</React.Fragment>
);
}
我通过 Quentin Grisel 的建议解决了这个问题。
解决方案
您应该在您的 Baby avatar 组件中处理叠加层,并简单地更改其状态以显示/隐藏叠加层。
export default function App() {
return <BabyAvatar overlay={false} />;
}
const BabyAvatar = () => {
const [isOverlayed, setIsOverlayed] = React.useState(false);
const displayOverlay = () => setIsOverlayed(!isOverlayed);
return (
<>
<Text>Baby overlay: {isOverlayed ? 'true':'false'}</Text>
<Button onPress={() => displayOverlay()} title="Change overlay" />
</>
)
}
推荐阅读
- java - Swagger Key 与不同的参数重复并返回
- javascript - 使用 Canvas 在图像中绘制线条
- encoding - Hive 查询扰乱了法语字符
- wsl-2 - DDEV-Local WSL2:如何让 xdg-open 从 WSL2 打开 Windows 上的浏览器?
- postgresql - Postgres 表分区列表限制
- php - WooCommerce:获取自定义帖子类型 ID 或特定订单状态电子邮件通知
- javascript - 带有 Vitcroy 图表的径向条形图
- excel - Internet Explorer readyState 从 Complete 恢复为 Interactive
- javascript - 如何禁用第三方接收的html页面的跨源请求?
- google-chrome-extension - 如何获取部分网页 HTML 代码进行扩展?