использование ответных хуков, отображающих данные в браузере - PullRequest
0 голосов
/ 12 октября 2019
  • Я пытаюсь реализовать вызов API внутри функции.
  • , чтобы я мог передавать данные непосредственно внутри функции при загрузке страницы.
  • Я новичок, чтобы реагироватьhooks.
  • Я получаю эту ошибку, когда включаю неверный вызов hooks. Хуки могут быть вызваны только внутри тела функционального компонента. Это может произойти по одной из следующих причин: '
  • В основном я хотел передать данные в метод createData
  • Можете ли вы сказать мне, как это исправить.
  • , предоставив мойфрагмент кода и песочница ниже.

https://codesandbox.io/s/material-demo-o8wb4

demo.js

function createData(name, calories, fat, carbs, protein) {
  const channel = useSelector(state => state);

  console.log("before useEffect channel---->", channel);
  console.log("before useEffect channel.json---->", channel.json);

  const dispatch = useDispatch();

  const getPosts = channel => dispatch(fetchPosts(channel));

  return { name, calories, fat, carbs, protein };
}

1 Ответ

0 голосов
/ 12 октября 2019

вы звоните createData вне функционального компонента. Быстрое решение состоит в том, чтобы переместить

  const initialRows = [
    createData("Cupcake", 305, 3.7, 67, 4.3),
    createData("Donut", 452, 25.0, 51, 4.9),
    createData("Eclair", 262, 16.0, 24, 6.0),
    createData("Frozen yoghurt", 159, 6.0, 24, 4.0),
    createData("Gingerbread", 356, 16.0, 49, 3.9),
    createData("Honeycomb", 408, 3.2, 87, 6.5),
    createData("Ice cream sandwich", 237, 9.0, 37, 4.3),
    createData("Jelly Bean", 375, 0.0, 94, 0.0),
    createData("KitKat", 518, 26.0, 65, 7.0),
    createData("Lollipop", 392, 0.2, 98, 0.0),
    createData("Marshmallow", 318, 0, 81, 2.0),
    createData("Nougat", 360, 19.0, 9, 37.0),
    createData("Oreo", 437, 18.0, 63, 4.0)
  ];

внутрь EnhancedTable()

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