gpt4 book ai didi

reactjs - react-router-dom 中的 useLocation().pathname 正在改变,但是当我把它放在 if 语句中时,它一直说 true

转载 作者:行者123 更新时间:2023-12-05 02:55:20 24 4
gpt4 key购买 nike

我正在制作一个 React 应用程序。我正在导入 useLocation 并将其放入变量(位置)中。我正在检查路径名是否不是“/”,它应该输出 false,但它在每一页中都显示为 true。

import React, { useState, useEffect } from "react";
import { useLocation } from "react-router-dom";

function Header() {
const [inIndex, setInIndex] = useState();
let location = useLocation();

useEffect(() => {
//Checks if location.pathname is not "/".
if (location.pathname !== "/") setInIndex(false);
else setInIndex(true);
}, []);

console.log(inIndex); //Keeps saying true

return null;
}

export default Header;

提前致谢!

编辑:我还检查了 location.pathname 是什么,它是“/”,它是一个字符串。

最佳答案

您是否尝试过在钩子(Hook)中订阅 location.pathname 的更改?:

  useEffect(() => {
//Checks if location.pathname is not "/".
setInIndex(location.pathname === "/")
}, [location.pathname]);

附言您实际上并不需要 if 语句,因为它计算为常规 bool

关于reactjs - react-router-dom 中的 useLocation().pathname 正在改变,但是当我把它放在 if 语句中时,它一直说 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61337929/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com