javascript - 如何从包含类名的字符串中获取 React 组件类?
问题描述
注意:这个问题不是React / JSX Dynamic Component Name的重复问题。我已经知道在接受的答案中使用的解决方案,如果您在下面阅读我的问题,我已经在使用类似的解决方案(使用映射将字符串转换为组件类)。我的问题是我是否可以避免维护这样的映射并将字符串直接转换为组件类。
这是我的代码index.js
:
import React from 'react'
import ReactDOM from 'react-dom'
class Foo extends React.Component {
render() {
return <h1>Foo</h1>
}
}
class Bar extends React.Component {
render() {
return <h1>Bar</h1>
}
}
function renderComponent(Component) {
ReactDOM.render(<Component />, document.getElementById('root'))
}
function getComponent(name) {
let map = {
'Foo': Foo,
'Bar': Bar,
}
return map[name]
}
renderComponent(getComponent('Foo'))
该getComponent()
函数将一个 React 组件类名作为字符串输入,并返回对应的类?
目前,我有一个对象文字将每个类名映射到一个类?每次我添加一个新类时,我都必须更新这个对象字面量。有没有办法可以避免维护这个对象文字?
有没有一种方法getComponent()
可以将类名作为字符串输入直接转换为类?
解决方案
推荐阅读
- machine-learning - 有没有办法总结python中具有数字和表格的文本数据,无论是提取方式还是抽象方式?
- ios - Apple 使用指南 5.2.5 - 法律 - 知识产权拒绝我的应用程序,这是怎么回事?
- python - 在python中使用opencv进行流式传输的异步视频列表
- flutter - 输入'_InternalLinkedHashMap
' 不是类型转换中类型 'Topic' 的子类型 - dialogflow-es - 如何在 Google 对话流中实现“帐户登录”助手?得到一个“代理返回一个空的 TTS”
- php - 如何在不手动指定列的情况下以 HTML 显示所有 DB 列的记录?
- bash - 使用 Bash 脚本从两列中获取唯一的对称对
- loops - 如何在 Ansible 中读取复杂的包含变量
- flutter - Flutter Bloc 与“InProgress”的提供者状态管理
- php - 当我单击提交按钮时,它正在加载但没有错误,而且我也没有收到邮件