【问题标题】:how to update state from a response from a server in React native如何从 React Native 中的服务器响应中更新状态
【发布时间】:2020-08-18 05:23:59
【问题描述】:

如何通过从服务器获取响应来更新我的setBlogPosts 状态?此代码不起作用,但我已检查我的服务器是否正常工作。我在显示文件中的 useEffect 属性中调用了 setBlogPost。我是 React Native 的新手,所以我不知道如何使用来自服务器的数据更新状态。

const getBlogPosts = () => {
    return async () => {
      const response =await jsonServer.get('/blogposts');
      setBlogPosts(response.data)

    }
  }

【问题讨论】:

  • 忽略最后3个反引号,错误添加

标签: json react-native jsonresponse


【解决方案1】:

这样定义状态:

const [blogPosts, setBlogPosts] = useState();

你的 getBlogPosts 应该是这样的:

const getBlogPosts = async () => {
const response =await jsonServer.get('/blogposts');
setBlogPosts(response.data)
}

这应该可以。尝试检查 useEffect 中的 blogPosts 值:

useEffect(()=>{
console.log(blogPosts)
}, [blogPosts ]);

【讨论】:

【解决方案2】:

使用扩展运算符:

this.setState({ blogPosts: this.state.blogPosts, ...response.data })

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-10
    • 1970-01-01
    相关资源
    最近更新 更多