ReactJS - синтаксис оператора распространения + ошибка функции перехвата - PullRequest
1 голос
/ 01 апреля 2020

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

import CountryCases from "../Components/CountryCases";
import NewsColumn from "../Components/NewsColumn";
import { Cases } from "../State/use-backend";

const HomeView = () => {
  const { data } = Cases(); // data is an object with 200 arrays //
  const stats = {...data};
  const { sort, setSort } = useState([]);

  const sortBy = key => {
    setSort(stats);
    console.log(sort);
  };

  return (
    <div className="home-view__container">
      <CountryCases stats={stats} sortBy={sortBy} />
      <NewsColumn />
    </div>
  );
};

export default HomeView;
  1. Назначение объекта API для const в моем компоненте. (Я использую итератор распространения, который работает, но не работает, когда я использую его в хуке, например - 'useState ({... data})' '. Когда я не использую оператор распространения, он показывает 'undefined'. Так что теперь я создаю свой 'sort, setSort' отдельно, но назначение моего объекта 'stats' в качестве значения также возвращает undefined. Может кто-нибудь объяснить, как работает эта передача данных?

  2. Когда запускается моя функция sortBy, я получаю сообщение об ошибке « setSort не является функцией». Это хук внутри функции, поэтому я очень смущен этим ??

Очевидно, я не говорю код это хорошо, надеюсь, вы понимаете!

Ответы [ 2 ]

0 голосов
/ 01 апреля 2020

это просто опечатка

const [sort, setSort] = useState([]);  // use [ ] not { } 
0 голосов
/ 01 апреля 2020

Вы вызываете useState неправильно, это кортеж, а не объект, который возвращается:

const [ sort, setSort ] = useState([]);

Подробнее о хуках вы можете прочитать здесь: https://reactjs.org/docs/hooks-intro.html

А что касается вашей проблемы с данными: data изначально не определена, она заполняется, когда выборка завершена, поэтому вы не можете использовать ее в качестве начального значения для useState.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...