【发布时间】:2023-03-25 17:59:01
【问题描述】:
我是新手,这更像是我打算解决的设计问题
1) 从静态托管站点下载组件并显示它们。
2)通过(比方说)下载选项从组件中获取所有数据
根据我的实践,我了解到父组件将回调/onChangehandle 作为道具传递给子组件,并且它维护子组件状态的副本,尽管子组件呈现 HTML。但是,我想根据用户的输入从 API/静态托管动态下载组件,然后从所有这些组件中获取数据的字符串表示/状态。每个组件都有不同的状态数据,因此我无法编写通用的 onChangehandle。
问题:-
1) 这样的设计是否可以通过 react 实现?每个组件都可以将其库上传到云端吗?
2) 我们可以强制在每个组件上编写方法,以便父级可以调用每个组件的特定方法并获取数据吗?
我正在寻找的伪代码:-
class Parent extends Component {
downloadData = (event) => {
for(childComponents 1 to n){
all_data += childComponent.getState()
}
pdf(all_data)
}
render(){
// Render Child components
for(childComponents 1 to n) {
ChildComponent = // Load from API/Static hosting
}
<button onClick="downloadData"/>
}
}
【问题讨论】:
-
你的意思是类似于服务器端渲染的东西吗?
-
不,客户端呈现,但它动态加载组件。想象这些是不同类型的插件。一个可以是图表,一个可以是表格等。每个组件都会调用自己的后端 API,获取数据并显示。
-
这能回答你的问题吗? storyblok.com/tp/…
-
谢谢,让我通读一遍
-
我发现 react lazy 和 react-dynamic-import 可以动态导入组件。但我只能从 src/ 目录中执行此操作。 npmjs.com/package/react-dynamic-import这里不是./realComponent.js,有什么办法可以指定组件的URL吗?但是,URL 中的 react 库不应该在转译的 js 中。
标签: reactjs