Laravel api 使用 paginate() 不适用于 React Native

Laravel api with paginate() does not work with reach native

我有一个 laravel api,我在其中添加了 ->paginate(),这样我就可以分页,并通过在我的 laravel api 中获取 laravel api反应本机应用程序,以便在应用程序滚动时应用加载更多数据。

这是我的laravelapi

public function allPerson(Request $request) {
  return Person::where('active', 'online')->paginate($request->input('results', 10));
}

Api URL

https://housedata.com/allperson?page=2

React Native

  const [personData, setPerson] = React.useState([]);

    const getPerson = () => {
        axios.get('https://housedata.com/allperson?page=2')
            .then(response => {
                setPerson(response.data)    
                console.log(response.data);
            });
    }

    useEffect(() => {
        getPerson();
    }, []);


    <FlatList
        data={personData}
        keyExtractor={item => item.id}
        renderItem={({ item }) => {
          return (
            <View>
              <Text>{item.person_name}</Text>
            </View>
          );
        }}
      />

当我查看 console.log(response.data); 时,我看到数据已被提取。

另外,当我将 ->paginate() 更改为 get() 时,它正在显示数据并正常工作,我该如何解决这个问题。

谢谢

get 和 paginate 方法 returns 数据不同 get 方法 returns 直接数据,而 paginate 方法将 return 包含数据的分页对象 属性 所以要访问它你必须做

response.data.data

axios.get('https://housedata.com/allperson?page=2')
        .then(response => {
            setPerson(response.data.data)    // <-- change this
            console.log(response.data.data);
        });