1.React事件绑定与原生事件绑定有什么区别
原生事件是绑定在DOM元素上,React并不会真正的绑定事件到每一个具体的DOM元素上,而是采用事件代理的模式;
2.哪个函数能提升组件性能(性能优化函数)?更多的应用场景是在哪里?
shouldComponentUpdate
在子组件应用最多,例:tab切换,每次只对两个元素切换如果有100、1000个元素就都会重新渲染
3.React中性能优化的方案有哪些?
第一种手动优化方案shouldComponentUpdate
第二种PureComponent,注意如果state或props【永远都会变】,那PureComponent并不会比较快,因为shallowEqual也需要花时间。例如倒计时功能。
4.在hooks体系中如何保存一个变量?
1.使用useState
2.使用useRef()
5.路由传参方式有几种?有什么区别?
1)动态路由传参
传参:history.push('/detail/${id}')
取值:props.match.params.myid
2)query传参
传参:history.push({ pathname : '/detail' ,query : { myid: id} })
取值:props.location.query.myid
3)state传参
传参:history.push({pathname:"/detail",state:{myid:id}})
取值:props.location.state.myid
区别:
1)路由需配置为动态路由<Route path="/detail/:myid" component={Detail} />,另外两种为普通路由<Route path="/detail" component={Detail} />
2)手动刷新页面动态路由参数不会丢失,另外两种方式会丢失参数