reactjs - React Native - 状态钩子更新并重新渲染组件,但没有显示
问题描述
所以这里是代码:
export default () => {
const [albums, setAlbums] = useState([]);
useEffect(() => {
MediaLibrary.getAlbumsAsync().then((tmpAlbums) => {
setAlbums(tmpAlbums);
});
}, []);
return (
<View>
{albums && (
<FlatList
data={albums}
renderItem={({ item }) => {
<Text>{item.title}</Text>;
}}
/>
)}
</View>
);
};
我确定状态更新,因为我记录了它并且它已更新,我已经拥有权限并且为了简单起见我刚刚删除了它。我已经尝试了一切,但组件/屏幕上没有显示任何内容。
解决方案
您不返回Text
.
要么做
{albums && (
<FlatList
data={albums}
renderItem={({ item }) => {
return (<Text>{item.title}</Text>)
}}
/>
)}
或者
{albums && (
<FlatList
data={albums}
renderItem={({ item }) => (
<Text>{item.title}</Text>)
)}
/>
)}
推荐阅读
- python - 为每列的出现但相对于另一列生成计数?
- python - 用另一个具有重复索引的数据框更新数据框
- asp.net-core - 为什么 Razor 页面脚手架对索引、详细信息和删除页面使用 HTML 帮助程序(而不是标记帮助程序)?
- sql-server - SUM() 将计算多少次?
- angularjs - AngularJs - 指令观察函数中的 if() 条件不起作用
- karate - 空手道 - 有没有办法在 XML 请求中保留(或添加)DTD
- java - 如果我需要在开始时评估条件,有没有办法避免 while(true) ?
- python - 如何在 PythonOperator Airflow 中调用返回值?
- cordova - @ionic-native/network 模块的问题
- scala - 将惰性值作为函数或方法参数传递而不对其进行评估?