取得使用中的数据不会重新呈现组件

时间:2019-06-13 00:14:25

标签: reactjs react-hooks

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();
  }, []);
....

我有这段代码可以为我的组件获取一些初始数据。进行了调用,但是直到我实际与UI中的某些内容交互后,它才会重新呈现。我在这里做错了。

1 个答案:

答案 0 :(得分:0)

找出问题所在。

我正在对子组件中的数据进行排序。那里的效果需要取决于从home组件传递的props.data。

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

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