将从导入分配的React组件渲染为变量..如何?

jam*_*non 1 reactjs react-jsx

因此,我需要动态确定要显示的组件..例如,所以.我有:

import Component1 from '..somepath/Component1'
import Component1 from '..somepath/Component2'

var P = {
   red: Component1,
   blue: Component2
}

render() {
  var newComponent = P[color];
  return (
     <newComponent /> // not working
     {newComponent} // not working
    newComoponent // not working

  )
}
Run Code Online (Sandbox Code Playgroud)

这种映射可能很大,因此没有进行切换或if/else.

如何让它返回另一个组件?

zer*_*kms 6

根据惯例,组件名称必须以首字母大写:

render() {
  var NewComponent = P[color];
  return (
     <NewComponent />
  );
}
Run Code Online (Sandbox Code Playgroud)

参考文献: