可以动态创建props 的名称吗?例如:

let dynamicPropName = "someString";

<MyComponent dynamicPropName="some value" />

所以在MyComponent内部,这个.props .有些字符串存在.

推荐答案

如果使用es6,可以定义动态props :

let dynamicProps = {"dynamicKey":"someString", "dynamicKey2":"someString"};

let someVariable = "xyz";
dynamicProps[someVariable] = value;

then use the spread operat或:

<MyComponent {...dynamicProps} />

内霉素组分-

let props = {...this.props};

现在你可以使用Object.keysprops来获得所有的动态props 名称.

Edit:

class Test extends React.Component {
  
  renderFromProps() {
    return Object.keys(this.props)
    .map((propKey) =>
      <h3>{this.props[propKey]}</h3>
    );
  }
  render() {
    return (
     <div>
      <h1>One way </h1>
      <hr/>
      <h3>{this.props.name}</h3>
      <h3>{this.props.type}</h3>
      <h3>{this.props.value}</h3>
      <hr/>
     <h1> Another way </h1>
      <hr/>
      { this.renderFromProps()}
     </div>
   );
  }
  
}

const dynamicProps = { name:"Test", type:"String", value:"Hi" };

ReactDOM.render(
  <Test {...dynamicProps} />,
  document.getElementById('root')
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="root">
</div>

Reactjs相关问答推荐

Npm运行构建`在Next.js 14中不起作用

替换谷歌 map api默认信息窗口与自定义

TanStack/Reaction-Query在我的Vercel应用程序中不起作用

不同步渲染

如何在MUI x图表条形图上放置圆角?

Antd V5组件自定义主题

如何在我的 React 应用程序中仅显示我的 Register 组件

无法在 NextJS 中获取嵌套对象

PWA:注册事件侦听器不会被触发

从 MongoDB createAt 字段中分割精确时间

Mui Datepicker 设置了错误的日期

为 Next.js 应用程序目录中的所有页面添加逻辑的全局文件是什么?

如何在我的自定义主题中样式化MUI TreeItem组件

React - 将一个充满空值的无限大小的数组存储在 ref 中是否可以,或者我应该重置数组吗?

如何在 React.js 中提取 PDF 的内容?

在 reactJS 中导航时页面重新加载

图像路径很奇怪,部署 Next.js 应用程序后我看不到任何图像

React 测试库 - 如何断言异步函数之间的中间状态?

需要帮助在 document.queryselector 的 nextjs 页面上插入 useEffect 状态

找不到元素 - 这是参考问题吗?