React包括组件名称中的动态prop值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了React包括组件名称中的动态prop值相关的知识,希望对你有一定的参考价值。

我正在尝试渲染反应组件。组件的第一部分将保持不变,但第二部分需要根据从props返回的数据动态更改。有没有办法将这些连接在一起?

import * as Icon from 'react-cryptocoins';

class ResultRow extends PureComponent {
  render() {
    return (
      <div className="component-result-row">

        <Icon.{this.props.name}/>
      </div>
    );}}

硬编码名称按预期工作

<{Icon.image1}/>

解:

import * as Icon from 'react-cryptocoins';

class ResultRow extends PureComponent {
  var name = this.props.name;
  var Component = Icon[symbol];
  render() {
    return (
      <div className="component-result-row">

       <Component/>
  </div>
);}}
答案

一种可能的方法是将值存储在变量中(应该以大写字母开头)然后渲染它。

像这样:

class ResultRow extends PureComponent {
  render() {

    const Comp = Icon[this.props.name];

    return (
      <div className="component-result-row">
        <Comp />
      </div>
    );
}}

以上是关于React包括组件名称中的动态prop值的主要内容,如果未能解决你的问题,请参考以下文章

React 函数组件与class组件的区别

通过 props 动态传递 React 组件?

组件&Props

使用 array.map() 创建组件时如何动态分配 Prop 值

React中的render props,让组件复用(共享)变得简单,你还不赶紧掌握它?

React 组件 props 值问题