qiankun踩坑记录

2021-03-25  本文已影响0人  lean_

问题一

主应用和子应用的redux,都加上redux-persist后,redux-store冲突,子应用的redux-store覆盖了主应用。

解决思路

问题二

单个子应用需要导出多个路由,集成在一个主应用页面中,子应用组件显示第一个,其他的不显示。

解决思路

<Route path="/some/path" render={ () => { 
if(props.route === "xxx"){
 return <ComponentA /> 
 } else {
  return <ComponentB />
 }  
}} 
/>

尝试修改后未解决

  function render(props = {}) {
  let DOM;
  if (window.__POWERED_BY_QIANKUN__) {
   //qiankun集成模式
    const query = `${props?.parentCantainer ?? ""} .app`;
    DOM = document.querySelector(query);
  } else {
   //单例模式
    DOM = document.querySelector(".app");
  }
    ReactDOM.render(<App {...props} />, DOM);
  }

尝试修改后可解决此情况

问题三

生产环境下,主应用加载子系统,报错CORS error

分析原因

解决思路

问题四

生产环境的弱网环境下,在fetch首屏子应用的时候,基座出现白屏等待loading

分析原因

quankun预加载也需要时间,在首屏的是时候可能出现白屏

解决思路

上一篇 下一篇

猜你喜欢

热点阅读