首页 > 解决方案 > 这 2 个日志语句如何导致不同的输出?

问题描述

所以我在这里有一个简单的应用程序

const storageKey = 'loggedBlogAppUser';

const loadUser = () => JSON.parse(localStorage.getItem(storageKey));

const App = () => {
  const [blogs, setBlogs] = useState([]);
  const [user, setUser] = useState(null);
  const [newBlog, setNewBlog] = useState('');

  useEffect(() => {
    blogService.getAll().then((b) => setBlogs(b));
  }, []);

  useEffect(() => {
    const loggedUser = storage.loadUser();
    setUser(loggedUser);
    console.log(`loggedUser`, loggedUser);
    console.log(`user`, user);
  }, []);

但在我的控制台中,我的日志语句是

loggedUser {token: "..."}

user null

为什么我的用户登录结果为空。我将 setUser 称为loggedUser,loggedUser 日志实际上有内容。他们不应该引用同一个对象吗?

标签: reactjs

解决方案


推荐阅读