forEach, возвращая jsx в функцию, как это сделать? - PullRequest
1 голос
/ 04 июня 2019

Зацикливаясь на массиве, нужно заполнить фрагмент jsx в функции, которая вызывается из return.Я знаю, что я сделал неправильно, как я могу сделать это правильно?

  const example = () => {
    return (
      <div className="row text-center" style={{marginTop: '100px'}}>
        <Workbook filename="example.xlsx" element={<button className="btn btn-lg btn-primary">Try me!</button>}>

          <Workbook.Sheet data={dataArray[0].rows} name="Sheet A">
            { 
              dataArray.forEach((item) => { return (<Workbook.Column label={item.columns.text} value={Item.columns.dataField} />) });
            }
          </Workbook.Sheet>
          <Workbook.Sheet data={data2} name="Another sheet">
            <Workbook.Column label="Double aaa" value={row => row.aaa * 2}/>
            <Workbook.Column label="Cubed ccc " value={row => Math.pow(row.ccc, 3)}/>
          </Workbook.Sheet>
        </Workbook>
      </div>
    );
  };

1 Ответ

4 голосов
/ 04 июня 2019

Вы не должны возвращаться с .forEach.

Вы должны использовать .map.

  const example = () => {
    return (
      <div className="row text-center" style={{marginTop: '100px'}}>
        <Workbook filename="example.xlsx" element={<button className="btn btn-lg btn-primary">Try me!</button>}>

          <Workbook.Sheet data={dataArray[0].rows} name="Sheet A">
            { 
              dataArray.map(item => <Workbook.Column label={item.columns.text} value={Item.columns.dataField} />);
            }
          </Workbook.Sheet>
          <Workbook.Sheet data={data2} name="Another sheet">
            <Workbook.Column label="Double aaa" value={row => row.aaa * 2}/>
            <Workbook.Column label="Cubed ccc " value={row => Math.pow(row.ccc, 3)}/>
          </Workbook.Sheet>
        </Workbook>
      </div>
    );
  };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...