在React中,根据名称动态呈现组件涉及到使用条件渲染和组件映射
import React from 'react'; import ComponentA from './ComponentA'; import ComponentB from './ComponentB'; import ComponentC from './ComponentC'; const componentMapping = { ComponentA, ComponentB, ComponentC, };
const getComponentByName = (componentName) => { const Component = componentMapping[componentName]; if (!Component) { console.error(`Component "${componentName}" not found in the mapping.`); return null; return <Component />; };
getComponentByName
import React, { useState } from 'react'; import ComponentA from './ComponentA'; import ComponentB from './ComponentB'; import ComponentC from './ComponentC'; const componentMapping = { ComponentA, ComponentB, ComponentC, const getComponentByName = (componentName) => { const Component = componentMapping[componentName]; if (!Component) { console.error(`Component "${componentName}" not found in the mapping.`); return null; return <Component />; const ParentComponent = () => { const [selectedComponentName, setSelectedComponentName] = useState('ComponentA'); return ( <button onClick={() => setSelectedComponentName('ComponentA')}>Component A</button> <button onClick={() => setSelectedComponentName('ComponentB')}>Component B</button> <button onClick={() => setSelectedComponentName('ComponentC')}>Component C</button>