Javascript 如何将字符串呈现为自定义组件?
所以我有这个密码Javascript 如何将字符串呈现为自定义组件?,javascript,reactjs,react-native,components,jsx,Javascript,Reactjs,React Native,Components,Jsx,所以我有这个密码 ReactDom.render(<Home />, document.getElementById("main")); ReactDom.render(,document.getElementById(“main”); 这可以完美地工作,并渲染主组件。 我想使此代码动态化 它可以是任何构件,如公寓或建筑构件,而不是住宅构件 我已经尝试通过以下代码来实现这一点 const tag = `<${main} />`; ReactDom.render(tag
ReactDom.render(<Home />, document.getElementById("main"));
ReactDom.render(,document.getElementById(“main”);
这可以完美地工作,并渲染主组件。
我想使此代码动态化
它可以是任何构件,如公寓或建筑构件,而不是住宅构件
我已经尝试通过以下代码来实现这一点
const tag = `<${main} />`;
ReactDom.render(tag, document.getElementById("main"));
const标记=``;
render(tag,document.getElementById(“main”));
这不管用
我想知道这是否可能。我更愿意在没有任何第三方库的情况下执行此操作。如果您希望实现此目标,我会首先创建一个
我希望这个解释有帮助 您可以创建一个组件来呈现您在状态中传递的每个名称集,这将根据您的道具呈现您可能期望的所有组件
例如,您可以编写以下组件:Render.js
import React, { useState } from 'react';
// import other components
export default (props) => {
const [current, setCurrent] = useState('home');
const App= {
home: Home,
apartment: Apartment ,
building: Building,
...
};
let Render = App[current] || Home;
return <Render {...props} />;
};
import React,{useState}来自“React”;
//导入其他组件
导出默认值(道具)=>{
const[current,setCurrent]=useState('home');
常量应用={
家:家,
公寓:公寓,
建筑:建筑,
...
};
让Render=App[current]| | Home;
返回;
};
index.js如下所示:
ReactDOM.render(<App />, document.getElementById('root'));
ReactDOM.render(<Render/>, document.getElementById('root'));
ReactDOM.render(,document.getElementById('root');
为什么不制作一个应用程序组件,让它渲染家、建筑或公寓?@Domino987我不想一次渲染所有组件。可以将其视为条件渲染。我想我可以使用开关,但是我必须硬编码CASE值。我们可以知道这样渲染的目的/情况吗this@SumanthMadishettyonClick我想根据onClickHandler('value')传递的字符串呈现不同的组件这听起来很适合使用react路由器,也许这会有帮助:谢谢。我正在我的应用程序中使用react路由器
ReactDOM.render(<Render/>, document.getElementById('root'));