javascript - 2 useState 中的一个 useEffect 一个有效,另一个无效,即使它们几乎相同
问题描述
我已将此useEffect
功能设置为在页面呈现时仅运行一次。
在里面我使用了两个useState
函数:setPageLenght
和setPages
- 它们定义如下
const [pages,setPages] = useState([])
const [pageLenght,setPageLenght] = useState(0)
- 他们都在这里被调用
useEffect(() => fetchData(props.Token).then(response => {
let result = Math.round(response[0] / 20)
setPageLenght(prev => result); //Does not change the state remains at 0
for (let i=0;i < result;i++) {
let page = <span>response[i]</span>;
setPages(prev => [...prev,page])
}
}),[])
基本上它调用一个函数来获取数据,然后相应地设置数据
后一个setPages
工作正常,但由于某种原因,第一个没有。
这里发生了什么?
解决方案
推荐阅读
- python - 有没有一种方法可以创建可供 .NET 和 Python 使用的库?
- python - 我是 python 新手,我偶然发现了一个函数/变量?我不知道它是做什么的,有人可以解释一下吗?
- python - 如何在模板的类中显示函数的循环?
- reporting-services - 如何查找 SSRS 报告的最后部署日期
- c# - WPF Datagrid:根据单元格值为整行或行中的第一个单元格着色
- android - 自定义可绘制状态
- php - PHP 中 Iconomi API 中的身份验证
- microcontroller - int32_t 用于 32 微控制器中的堆栈
- linux - 大对齐的 mmap
- javascript - 如何将我的字符串输出转换为对象,以便使用 javascript 将 json 作为输出?