本机反应-为什么我的console.log返回[],但项目显示在屏幕上?

kd12345

我试图访问从我的API get请求获取的对象,但是在屏幕上呈现项目时,我不断在console.log中返回Array []。

有人可以发现我错了吗?

const [posts, setPosts] = useState([]);
const [error, setError] = useState(false);
const [loading, setLoading] = useState(false);

const loadPosts = async () => {
  setLoading(true);
  const response = await messagesApi.getMessages();
  setLoading(false);
  if (refreshing) setRefreshing(false);
  if (!response.ok) return setError(true);
  setError(false);
  setPosts(response.data);
};

useEffect(() => {
  const newsocket = io.connect("http://ip:port");
  loadPosts();
  console.log(posts); // not working
  newsocket.on("connect", (msg) => {
    setSocket(newsocket);
  });

  return () => newsocket.close();
}, []);

return (
  <FlatList
    data={posts}
    keyExtractor={(post) => post.id.toString()}
    renderItem={({ item, index }) => (
      <MessagesList
        title={item.title}
        onPress={() =>
          navigation.navigate(routes.CHAT, { message: item, index, updateView })
        }
      />
    )}
  />
);
努鲁丁·拉哈尼(Nooruddin Lakhani)

问题

console.log 在获得API响应之前执行。

console.log当您添加posts依赖项时将起作用

useEffect(() => {
   console.log(posts); 
}, [posts]); // added posts here

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

当显示缓慢时,为什么要使用本机反应

来自分类Dev

渲染项目| 反应本机

来自分类Dev

为什么在反应中本机映像未显示在模拟器中?

来自分类Dev

为什么反应本机边界半径在iOS上有效但在Android Image上无效

来自分类Dev

在onPress上反应本机卡(本机)

来自分类Dev

反应本机-console.error:'反应本机版本不匹配

来自分类Dev

对多个屏幕反应本机图像

来自分类Dev

反应本机检测屏幕缺口

来自分类Dev

在屏幕之间反应本机导航

来自分类Dev

我无法安装本机反应

来自分类Dev

反应本机导航不显示堆栈屏幕

来自分类Dev

反应本机返回ImageBackground居中

来自分类Dev

反应本机图像不显示

来自分类Dev

为什么“反应本机链接某些本机模块”是彩票?

来自分类Dev

为什么在 iOS 模拟器上运行应用程序后不显示 json 数据以进行本机反应?

来自分类Dev

反应本机输入不在屏幕上

来自分类Dev

在FlatList上反应本机“ keyboardDismissMode”

来自分类Java

在Android上反应本机RTL

来自分类Dev

反应本机ListView项目不显示

来自分类Dev

反应未显示的本机FlatList项目

来自分类Dev

我可以在我的 console.log 中显示 API 数据,但我不能用它 setState 。. . 我怎样才能设置状态?(获取,反应本机)

来自分类Javascript

我怎样才能节省数据时,我改变作出反应,本机屏幕?

来自分类Dev

使用console.log记录反应本机事件不会触发,最终导致应用崩溃

来自分类Dev

反应本机文本离开我的屏幕,拒绝换行。该怎么办?

来自分类Dev

当我在本机反应中按下主屏幕按钮时,如何调用功能

来自分类Dev

如何从react-native-vector-icons(反应本机)在我的ToolbarAndroid中显示矢量图标

来自分类Dev

我可以在iOS上模拟BLE设备并设置其名称吗?(反应本机)

来自分类Dev

反应本机导航-屏幕的多个实例

来自分类Dev

中心图像反应本机加载屏幕

Related 相关文章

  1. 1

    当显示缓慢时,为什么要使用本机反应

  2. 2

    渲染项目| 反应本机

  3. 3

    为什么在反应中本机映像未显示在模拟器中?

  4. 4

    为什么反应本机边界半径在iOS上有效但在Android Image上无效

  5. 5

    在onPress上反应本机卡(本机)

  6. 6

    反应本机-console.error:'反应本机版本不匹配

  7. 7

    对多个屏幕反应本机图像

  8. 8

    反应本机检测屏幕缺口

  9. 9

    在屏幕之间反应本机导航

  10. 10

    我无法安装本机反应

  11. 11

    反应本机导航不显示堆栈屏幕

  12. 12

    反应本机返回ImageBackground居中

  13. 13

    反应本机图像不显示

  14. 14

    为什么“反应本机链接某些本机模块”是彩票?

  15. 15

    为什么在 iOS 模拟器上运行应用程序后不显示 json 数据以进行本机反应?

  16. 16

    反应本机输入不在屏幕上

  17. 17

    在FlatList上反应本机“ keyboardDismissMode”

  18. 18

    在Android上反应本机RTL

  19. 19

    反应本机ListView项目不显示

  20. 20

    反应未显示的本机FlatList项目

  21. 21

    我可以在我的 console.log 中显示 API 数据,但我不能用它 setState 。. . 我怎样才能设置状态?(获取,反应本机)

  22. 22

    我怎样才能节省数据时,我改变作出反应,本机屏幕?

  23. 23

    使用console.log记录反应本机事件不会触发,最终导致应用崩溃

  24. 24

    反应本机文本离开我的屏幕,拒绝换行。该怎么办?

  25. 25

    当我在本机反应中按下主屏幕按钮时,如何调用功能

  26. 26

    如何从react-native-vector-icons(反应本机)在我的ToolbarAndroid中显示矢量图标

  27. 27

    我可以在iOS上模拟BLE设备并设置其名称吗?(反应本机)

  28. 28

    反应本机导航-屏幕的多个实例

  29. 29

    中心图像反应本机加载屏幕

热门标签

归档