我在使用useState的时候,没有设置上state还是怎么的,打印state是空数组:
const {projs, getProjs } = useStore()
const [tableData, setTableData] = useState<DispProjs[]>([]);
useEffect(() => {
console.log('before: ', projs) // 有数据: [{...}]
setTableData(projs);
console.log('after ', tableData) // 无数据:[]
}, [projs]);
对此有几个问题:
1、setTableData
这样的设置状态的方法是同步还是异步的呢?
2、请问是否有方式可以看到状态实时的情况。比如浏览器有redux的devtool,但是在electron是否可以什么方式展示呢?
useState
和useEffect
都是异步的,所以setTableData
执行后不能立即获取到状态更新后的值。如果想看到更新可以尝试
Electron
内置了浏览器工具,在创建 windows 实例的时候配置就行也可以直接安装
redux-devtools-extension