React 360 从组件渲染到位置



我的样板中有两个组件,其中一个只有在从另一个组件调用方法时才想挂载。

我该怎么做?

这是我的样板:

import {ReactInstance} from 'react-360-web';
function init(bundle, parent, options = {}) {
...
// Render 1
r360.renderToSurface(
r360.createRoot('Component1'),
r360.getDefaultSurface()
);
//I WOULD LIKE TO MOUNT THIS COMPONENT LATER!
r360.renderToLocation(
r360.createRoot('Component2'),
r360.getDefaultLocation(),
);
}
window.React360 = {init};

这是我的组件:

export default class Component1 extends React.Component {
constructor(props) {
super(props)
}
mountNewComponent() {
//HOW TO MOUNT COMPONENT2 FROM HERE??
}
..
}

client.js:

function init(bundle, parent, options = {}) {
...
r360.runtime.executor._worker.addEventListener('message', (e) => onMessage(e, r360));
}
function onMessage(e, r360) {
if(e.data.type === 'newComponent') {
//TODO mount hier
}
}

在组件中:

mountNewComponent() {    
postMessage({ type: "newComponent"});
}

相关内容

  • 没有找到相关文章

最新更新