@sharkdest

React — csv не видит мой массив?

Здравствуйте, помогите, пожалуйста, решить проблему:

Вот мой код:
import React from "react";
import axios from 'axios';
import { CSVLink } from "react-csv";

export default class Bookkeepings extends React.Component {

  constructor(props) {
    super(props);

    this.state = {
     rows: []
  }
componentDidMount () {
      axios.get(API+"referenceData", {
      })
      .then(res => {
         this.setState({
            rows: res.data
         })
         console.log(rows);
       })
 }
 render () {
 const { rows } =this.state
  return (
   <div className="container">
          <CSVLink
            data={rows}
            separator={";"}
            filename={"my-file.csv"}
            className="btn btn-primary"
            target="_blank"
            >
            Download me
          </CSVLink>)
 }
}


Console:
(3) [{…}, {…}, {…}]
 0: {ownerKey: "test_owner", accountNumber: "54325672098734"}
 1: {ownerKey: "test_owner", accountNumber: "82039564645380"}
 2: {ownerKey: "test_owner2", accountNumber: "92637479276455"}
 length: 3
 __proto__: Array(0)


В таком случае после скачивания файла получаю пустой CSV

Если в Render впишу:
const rows = [
      { firstname: 'Ahmed', lastname: 9, email: 'ah@smthing.co.com' }
    ];

то в CSV файле присутвстуют данные с const rows

Заранее большое спасибо.
  • Вопрос задан
  • 185 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега React
Добавьте key вашему CSVLink. Такой, чтобы зависел от содержимого rows.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы