首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么在将useState方法设置为react时会出现错误?

为什么在将useState方法设置为react时会出现错误?
EN

Stack Overflow用户
提问于 2022-06-21 05:36:30
回答 1查看 168关注 0票数 0

在这里,我使用的是react usestate hook,我已经将其作为

代码语言:javascript
运行
复制
const { blogs, setBlogs } = useState([{postId:"",blogCity:"",blogTitle:"",username:"",time:""}]);

现在我想在这个usestate中存储多个博客,但是useEffect钩子返回setBlogs的错误不是一个函数。useEffect的代码是

代码语言:javascript
运行
复制
useEffect(() => {
        fetchProfileImage();
        fetchPost();
        getBlogs();
    }, [postImage,blogs,setBlogs])

我从函数所在的getBlogs函数中获取博客

代码语言:javascript
运行
复制
const getBlogs =async()=>{
    const response = await fetch(
        `http://localhost:5000/api/post/getPost/${username}`, {
        method: "POST",
        headers: {
            'Content-Type': 'application/json',
            'auth-token': localStorage.getItem("token")
        }
    });
    const json = await response.json();
    console.log(json.result);
    setBlogs( json.result);
    console.log("here",blogs);
}

博客数据是从数据库中正确获取的,但不能由setBlogs存储。如何用blogs存储博客数据。错误是

代码语言:javascript
运行
复制
User.js:75 Uncaught (in promise) TypeError: setBlogs is not a function
    at getBlog

错误发生在我使用setBlogs时。

EN

回答 1

Stack Overflow用户

发布于 2022-06-21 05:39:33

useState返回一个由两个元素组成的数组:一个表示当前状态的对象和一个用于状态的setter。您必须解构useState返回到有两个对象的数组中的内容,而不是像现在这样具有两个属性的对象。

错:const { blogs, setBlogs } = useState([...]);

正确:const [ blogs, setBlogs ] = useState([...]);

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72695796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档