小编Har*_*sad的帖子

useNavigate 不工作 React-router-dom v6

我正在使用react-router-dom v6,我正在访问from对象中的值location,它给出了pathname但在执行na​​vigate(from,{replace:true})时它不起作用。

const navigate = useNavigate();
const { state } = useLocation();
const from = state ? state.from.pathname : '/';
const [isDone, setIsDone] = useState(false);
Run Code Online (Sandbox Code Playgroud)
  useEffect(() => {
    if (isDone) {
      navigate(from, { replace: true }); //not working
    }
  }, [isDone]);
Run Code Online (Sandbox Code Playgroud)
const Submit = async (e) => {
    e.preventDefault();
    let data = { email, password };

    if (!email || !password) {
      setMessage('Please Enter All Fields');
    } else {
      setLoading(true);
      return await axios …
Run Code Online (Sandbox Code Playgroud)

reactjs react-router

5
推荐指数
1
解决办法
3万
查看次数

React-useEffect 中存在无限循环问题

我有一个 useEffect() 通过 axios 获取数据,我希望它只渲染一次,所以我传递了一个数组。一切正常,但问题是每当我尝试对项目进行排序时,第二个 useEffect 会在第一个 useEffect 之后触发,这导致组件一次又一次地获取所有项目。

const [products, setProducts] = useState([]);

useEffect(() => {
    const getProducts = async () => {
      return await axios
        .get('/getAllProducts')
        .then((response) => {
          setProducts(response.data);
          console.log(products);
        })
        .catch((e) => {
          console.log(e);
        });
    };
    getProducts();
  }, [products]);
Run Code Online (Sandbox Code Playgroud)

reactjs axios

1
推荐指数
1
解决办法
326
查看次数

标签 统计

reactjs ×2

axios ×1

react-router ×1