在项目中需要兄弟组件通信,由于父组件下面的子组件层级过多,用ref传递不太方便,所以用到了react新的hooks ,useImperativeHandle
useImperativeHandle 接受三个参数:
① 第一个参数ref: 接受 forWardRef 传递过来的 ref。
② 第二个参数 createHandle :处理函数,返回值作为暴露给父组件的 ref 对象。
③ 第三个参数 deps : 依赖项 deps ,依赖项更改形成新的 ref 对象。
useImperativeHandle 用法和useEffct很像,第二个参数需要加,不加就会出现无限递归导致内存溢出。
因此需要加第二个参数控制,注意保错不好查找。当内存溢出时可以检查这个hooks是否使用正确