【发布时间】:2021-09-11 23:46:32
【问题描述】:
我刚刚开始使用 React js,我正在尝试使用 API 创建一个简单的食谱网站。
我正在尝试创建一个页面,该页面将使用 map() 从本地存储中的数组中显示最喜欢的食谱数据,如下所示。
const FavRecipes = () => {
const [recipeArray, setRecipeArray] = useState([]);
const refreshData = () => {
const existedFavRecipe = localStorage.getItem("FavRecipes");
const data = existedFavRecipe !== null ? JSON.parse(existedFavRecipe) : [];
setRecipeArray(data);
}
return (
<FavRecipesContainer>
{recipeArray.map( e => (
<>
<FavRecipeImage src ={e.image} />
<FavRecipeTitle>{e.title}</FavRecipeTitle>
</>
))}
</FavRecipesContainer>
)
}
问题是我希望refreshData 的功能在每次数组中的数据更改时自动触发,因为我将创建一个删除按钮来删除最喜欢的食谱。我正在考虑使用 useEffect() 但我不知道该怎么做。有什么建议可以解决这个问题吗?将不胜感激!
【问题讨论】:
-
数组中的数据是什么意思?你想监听本地存储并在那时触发你的函数吗?
-
@KavinduVIndika 是的,如果可能的话,完全一样。实际上,我只是想在用户删除一些菜谱后检索最新的菜谱数组数据并自动显示给用户。
标签: javascript reactjs