gpt4 book ai didi

javascript - 从字符串创建 react 组件

转载 作者:行者123 更新时间:2023-11-29 20:43:18 28 4
gpt4 key购买 nike

我有一个数组列表,我想将字符串与组件名称匹配,这可能吗?我试过这个https://codesandbox.io/s/lpzq3jvjm7

function App() {
const obj = {
name: "Name"
};

const capitalize = (s) => {
if (typeof s !== 'string') return ''
return s.charAt(0).toUpperCase() + s.slice(1)
}

return (
<div className="App">
{React.createElement(capitalize(obj.name), {
name: "james"
})}
</div>
);
}

const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);

似乎没有用,有什么线索吗?

最佳答案

由于您没有名为 Name 的组件,所以很难说出您实际遇到了什么错误。简单修复?

function Name(props) {
return props.name
}

function App() {
const obj = {
name: Name
};

return (
<div className="App">
{React.createElement(obj.name, {
name: "james"
})}
</div>
);
}

在页面上打印 james

更新

你错过了一些东西..首先导入你的组件

import Name from './Name'

Name.js 中你缺少 react 导入

import React from 'react'
export default ({ name }) => <h1>my name is {name}</h1>;

并确保将 Name 的实际值设置为您的对象,而不是字符串“Name”

const obj = {
name: Name
};

codesandbox

enter image description here

关于javascript - 从字符串创建 react 组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55035897/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com