import someFnComponent from './someFnComponent'
const [fnComponent, setFnComponent] = useState();
setFnComponent(someFnComponent )
//此时引入的函数组件props会失效。当引用时组件的props一直会是undefined。
const myFnCom = () => {
return (
<someFnComponent />
)
}
找了一些setState源码流程,在流程中有一些操作传入参数的函数。不过没找到细节部分的代码。 // 后续更新。
//更新~~找到问题所在了。
const HooksDispatcherOnMount: Dispatcher = {
/** 省略其它Hooks **/
useState: mountState,
};
// 所以调用useState()返回的就是HooksDispatcherOnMount.useState(),也就是mountState()
function mountState<S>(
initialState: (() => S) | S,
): [S, Dispatch<BasicStateAction<S>>] {
// 访问Hook链表的下一个节点,获取到新的Hook对象
const hook = mountWorkInProgressHook();
//如果入参是function则会调用,但是不提供参数
if (typeof initialState === 'function') {
initialState = initialState();
}
// 进行