我应该如何让我的数组进入 react 中的渲染函数

How should I get my array into the rendering function in react

提问人:badukwei 提问时间:10/14/2022 更新时间:10/14/2022 访问量:16

问:

我知道示波器有问题,但我不知道如何解决它。 我有两个功能。 是获取数据并重建它。 是用重建的数据呈现 sth。 那么我怎样才能让它把'majorArray'作为参数放在里面呢?mapSubjectsubjectFiltersubjectFilter

const subjectFilter = (arr) => {
    arr.map(sub => {
      return (
        <div>
          <label>{sub}</label>
          <input
            type="checkbox"
            placeholder={sub}
            className="subject"
          />
        </div>
      )
    })
  }
  const mapSubject = (data) => {
    const majorArray = []
    data.map(item => {
      if (item.major1 && !majorArray.includes(item.major1)) {
        majorArray.push(item.major1);
      }
      return majorArray
    })
    console.log(majorArray)
  };
return(
  <div>
    {subjectFilter()}
  </div>
)
JavaScript ReactJS 作用域 闭包 JSX

评论


答:

0赞 KcH 10/14/2022 #1

你也许可以做

const subjectFilter = (arr) => {
  return arr.map((sub) => {
    return (
      <div>
        <label>{sub}</label>
        <input type="checkbox" placeholder={sub} className="subject" />
      </div>
    );
  });
};

const mapSubject = (data) => {
  const majorArray = [];
  data.forEach((item) => {
    if (item.major1 && !majorArray.includes(item.major1)) {
      majorArray.push(item.major1);
    }
  });
  return majorArray
};

return <div>{subjectFilter(mapSubject())}</div>;