Open ClarkXia opened 1 year ago
Rax Core
import { createElement, useEffect, useState } from 'rax'; function Comp(props) { const [, setA] = useState(props.width); useEffect(() => { setA(50); }, []); return <div>test</div>; } const array = new Array(2000); array.fill(1); const Demo = () => { return array.map((n) => <Comp width={n} />); }; export default Demo;
「Flush all effects first before update state 」 这个机制存在循环调用的问题,setState 里会调 useEffect ,如果在 useEffect 内有 setState 调用,这个调用栈就是嵌套的,通过上述代码,会导致调用栈溢出,而 react 不会
No response
⌨️
Where is the bug from?
Rax Core
Minimal code and steps to reproduce the bug
Current and expected behavior
「Flush all effects first before update state 」 这个机制存在循环调用的问题,setState 里会调 useEffect ,如果在 useEffect 内有 setState 调用,这个调用栈就是嵌套的,通过上述代码,会导致调用栈溢出,而 react 不会
Environment
build.json
No response
Possible solution
No response
Additional context
No response