Добавление данных в массив внутри объекта с помощью React Hook - PullRequest
0 голосов
/ 14 апреля 2019

Я путаюсь с тем, как добавить данные массива в список массивов внутри объекта, используя setState, с помощью хука в React.кто-нибудь может мне помочь по этому поводу?ниже мой код, каждый раз, когда я консольный журнал, он всегда возвращает пустой массив.

import React, { useState } from 'react';

const Main = props => {
  const [state, setState] = useState({
    noteArray: [],
    noteText: '',
  });


  const addNote = () => {
    if(state.noteText){
      var d = new Date();
      let x = {
        'date': d.getFullYear() + 
        "/" + (d.getMonth() + 1 ) +
        "/" + d.getDate(),
        'note': state.noteText
      }

      setState({...state, noteArray: x});

      console.log(state.noteArray);
    }
  }

   .......................the rest of code
}

1 Ответ

0 голосов
/ 14 апреля 2019

По сути, вы делаете неправильно, что вы переопределяете массив, а не добавляете в него новое значение.Вы можете сделать это легко используя это: -

import React, { useState } from 'react';

const Main = props => {
  const [state, setState] = useState({
    noteArray: [],
    noteText: '',
  });


  const addNote = () => {
    if(state.noteText){
      var d = new Date();
      let x = {
        'date': d.getFullYear() + 
        "/" + (d.getMonth() + 1 ) +
        "/" + d.getDate(),
        'note': state.noteText
      }

      setState({...state, noteArray: [...state.noteArray, x]});

      console.log(state.noteArray);
    }
  }

   .......................the rest of code
}
...