Выборка данных в useEffect не рендеринг компонента - PullRequest
0 голосов
/ 13 июня 2019
const Home = withRouter((props: RouteComponentProps) => {
  const [dataState, setDataState] = useState(data);
  const [isLoading, setIsLoading] = useState(false);

  useEffect(() => {
    const fetchData = async () => {
      setIsLoading(true);
      const res = await fetch('https://jsonplaceholder.typicode.com/users/');
      const parsed = await res.json();
      setDataState(parsed);
      setIsLoading(false);
    };
    fetchData();
  }, []);
....

У меня есть этот код для получения некоторых исходных данных для моего компонента.Вызов сделан, однако он не рендерится до тех пор, пока я фактически не взаимодействую с чем-либо в моем пользовательском интерфейсе.Что я тут не так делаю.

1 Ответ

0 голосов
/ 13 июня 2019

Выясните проблему.

Я сортировал данные в дочернем компоненте.Эффект там должен был зависеть от props.data, передаваемого из домашнего компонента.

  useEffect(() => {
     ...some sorting logic 
  }, [sortState, props.data]);

  return <Table minimalPadding={true} columns={columns} data={sortedData} />;
...