0

reload如果我第一次通过它调用我的方法,useEffect它包含我的数据,但如果我onRefresh在运行时调用 via,它会给我空数据。

为什么?我应该如何保存它?onRefresh调用哪个线程有问题吗?

有关我的项目的更多信息,请查看这个问题,也许是同一个问题。

const MyScreen = ({ items }) => {
    const [initialItems, setInitialItems] = useState(items)
   
    useEffect(() => {
        reload()
    }, [])

    const reload = () => {
        console.log(initialItems) // same value 
        console.log(items) // same value 
    }


    return (
        <FlatList
            ...
            refreshControl={
                <RefreshControl
                refreshing={isRefreshing}
                onRefresh={() => reload()} 
                />
            }
            ...
        />
    )
}

const mapStateToProps = (state) => { 
    return {
        items: state.items, // I tried this also with [...state.items]
    }
}
4

1 回答 1

0

My mistake was copying my Array like that: xArray = yArra it means call by reference and not by value.

于 2021-02-12T20:54:31.787 回答