小编典典

键在ReactJs的Child组件中不可用作prop

reactjs

我有一个父组件,其中以下组件在 map 函数中动态生成,如下所示:

const renderListing = this.props.listing.map(function(list, index) {
        return (
          <Listing
            key={index}
            title={list.title}
            totalWorkers={list.totalWorkers}
          />
        );
      }, this);

在此<Listing />组件中,我具有一个 复选框react-md如下所示:

import { Checkbox } from "react-md";
class Listing extends React.Component {
  render() {
    return (
<Checkbox id="`listSector-${this.props.key}`" name="list-sector" />
   );
  }
}

我想给命名的 道具key串连起来id="listSector-0" , id="listSector-1"等等。

我尝试过字符串文字,但全部无效。

谁能知道如何给动态this.props.key级联idcheckbox吗?

谢谢


阅读 212

收藏
2020-07-22

共1个答案

小编典典

“ key”和“ ref”是保留字,不允许作为道具传递。您可以传递另一个具有相同值的道具

const renderListing = this.props.listing.map(function(list, index) {
    return (
      <Listing
        key={index}
        keyId={index}
        title={list.title}
        totalWorkers={list.totalWorkers}
      />
    );
  }, this);

并像这样使用

<Checkbox id="`listSector-${this.props.keyId}`" name="list-sector" />
2020-07-22