GithubHelp home page GithubHelp logo

[Bug] 3.0的React/Vue组件 about qiankun HOT 8 CLOSED

qiYuei avatar qiYuei commented on June 2, 2024
[Bug] 3.0的React/Vue组件

from qiankun.

Comments (8)

kuitos avatar kuitos commented on June 2, 2024
  1. 这两个是 required 字段,没有的话应该报错
  2. 我看是有的

暴露卸载应用的方法给基座使用

为啥要这个方法?微应用的卸载应该跟着组件的生命周期一起,自动加载、卸载,不应该手动调用

有场景是要多个应用保持 keep-alive 的话,是不是要 循环渲染N个组件呢

这个跟调用 loadMicroApp 没区别吧,组件使用不同的 name、entry 就行

另外我主应用是 Vue3 但是我有子应用是 React 这要怎么渲染

主应用是 Vue 就用 vue 那个组件,跟子应用是什么技术栈没关系吧,ui-bindings 里的组件都是给主应用消费

from qiankun.

qiYuei avatar qiYuei commented on June 2, 2024
  1. 这两个是 required 字段,没有的话应该报错

点击按钮或者点击其他才加载子应用的时候就要先 不渲染 组件 ? 不过这种方式也能接受

  1. 我看是有的

componentProps 是组件的 props 我看他们实现是用 omit 排除组件的 props 剩下就是应用的 props ,这种方式在 react 中可以但是在 Vue 中不行(没有定义的 props 会在 attrs 中),我觉得应该增加个 属性专门接收 应用的 props

暴露卸载应用的方法给基座使用

我在基座中现在想销毁子应用发现没办法,除非销毁渲染组件然后渲染组件在生命周期中销毁应用。现在都缺少这个逻辑

from qiankun.

kuitos avatar kuitos commented on June 2, 2024

我在基座中现在想销毁子应用发现没办法,除非销毁渲染组件然后渲染组件在生命周期中销毁应用

就是应该在组件生命周期里做,组件销毁了子应用自动销毁

from qiankun.

kuitos avatar kuitos commented on June 2, 2024

vue 这个版本的实现应该是有问题的

if (microApp) {
microApp._unmounting = true;
unmountMicroApp(microApp).catch((err: Error) => {
setComponentError(err);
loading.value = false;
});
microAppRef.value = undefined;
}

不应该是在 name 变化时才卸载子应用,组件 unmount 时也需要卸载 @linghaoSu

from qiankun.

bravepg avatar bravepg commented on June 2, 2024

1、2 我来改下

  1. 就像 @kuitos 说的,基座不应该感知应用卸载,应该都放在组件里

  2. componentProps 是组件的 props 我看他们实现是用 omit 排除组件的 props 剩下就是应用的 props ,这种方式在 react 中可以但是在 Vue 中不行(没有定义的 props 会在 attrs 中),我觉得应该增加个 属性专门接收 应用的 props

(没有定义的 props 会在 attrs 中)要怎么理解?有相关文档或者案例发我看下么

from qiankun.

qiYuei avatar qiYuei commented on June 2, 2024

(没有定义的 props 会在 attrs 中)要怎么理解?有相关文档或者案例发我看下么

https://cn.vuejs.org/guide/components/attrs.html#attribute-inheritance

from qiankun.

kuitos avatar kuitos commented on June 2, 2024

@bravepg react 版本你直接改一下吧,vue 的版本 @linghaoSu 看下, @qiYuei 你有兴趣的话也可以直接提 pr 修复

from qiankun.

linghaoSu avatar linghaoSu commented on June 2, 2024

@bravepg react 版本你直接改一下吧,vue 的版本 @linghaoSu 看下, @qiYuei 你有兴趣的话也可以直接提 pr 修复

好的,我看下

from qiankun.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.