我声明了一个数组状态,并希望在其中添加一些数组,如下所示:

const [number, setNumber] = useState(3);
const [TimePickerList, setTimePickerList] = useState([]);
useEffect(() => {
        
        for(var i = 0; i < number ; i++) { 
           setTimePickerList(TimePickerList.push([]))
           
        }
        console.log(TimePickerList); // it gives me an array like this : [[],[],[]]
    }, [number])

但是,当我从另一个函数中的TimePickerList获得LOG时,它会给我一个数字(3). 并且我在数组状态下丢失了数组(我希望是这样的:[[],[],[]],但是While给了我数组的长度) 100

推荐答案

您可以推送空数组中的值.然后将其设置为您的状态

    const [number, setNumber] = useState(3);
    const [TimePickerList, setTimePickerList] = useState([]);
    useEffect(() => {
            var list = []
            for(var i = 0; i < number ; i++) { 
               list.push(i)
            }
            setTimePickerList(list)
        }, [number])
           

Reactjs相关问答推荐

如何使用react-router-dom导航到网页中的其他路由?

滚动事件监听器在Next.js客户端组件中不触发

Next.js:提交表单时状态尚未就绪

NextJS如何正确保存添加到购物车中的产品会话

React Router:在没有手动页面刷新的情况下,路由不会更新内容

阻止组件更新的多分派Redux Thunk或setState是否有任何问题

Github 操作失败:发布 NPM 包

预期无限重新渲染但没有发生

无法在react 中向表中添加行

将水平滚动视图添加到底部导航选项卡

如何在 Next Js 13 App Router 中添加 Favicon 图标?

如何读取 null 的属性?

useEffect 渲染没有依赖数组的组件

如何在同一路由路径上重新渲染组件(链接,V6)reactjs

antd 找不到 comments

我如何在所有组件中使用 Chakra UI toast?

Github 页面无法正确呈现 CSS,因为它是本地的

如何在自定义 JSX 元素上声明属性?

从输入中获取数字时,react 计数器不会增加

为什么重新渲染不会影响 setTimeout 的计数?