在调用 api 然后 setState 之后重新渲染平面列表

问题描述

我刚开始学习 React Native,想在 setState 之后渲染 FlaList。 我尝试调用 Api 来获取数据,然后我对该数据进行排序,但 FlatList 没有使用 newData 重新呈现。我也尝试了 exTradata 但没有任何反应。我哪里不见了?

感谢您的帮助。

function HomeScreen(props) {
    const {transactions = []} = useSelector(selectors.transactions) || [];
    const [listTransaction,setListTransaction] = useState([]);

    useEffect(() => {
        dispatch(BalanceActions.balanceRequest()); // This is my call Api
  
        sortListTransaction(); // I call sortFunc after that
    },[]);

    const sortListTransaction = () => { // In this function I group by date the array of the result Api
        let groups = [];

        transaction.forEach((item) => {
            let date = moment(item.date).format('MM/DD/YYYY');
            if (date in groups) {
                groups[date].push(item);
            } else {
                groups[date] = new Array(item);
            }
        });

        setListTransaction(groups);
    };

    const _renderItem = ({item}) => {
        return <BodyContent data={item} />;
    };

    // Then my FlatList like:
    return (
        <FlatList
            data={listTransaction}
            keyExtractor={(item) => item.id}
            renderItem={_renderItem}
            exTradata={listTransaction}
        />
    )
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)