在React模块库(项目间共享的库)中的一个组件中,我需要提醒用户注意未保存的更改,这意味着必须在组件卸载之前通知用户。
我已经做了很多研究,唯一可能的方法是使用路由器(使用< Prompt />或setRouteLeaveHook,因为SPA不卸载页面以在页面之间导航)。
由于npm模块并不真正拥有<路由器/>组件(使用这些模块的React项目拥有它),任何与路由器相关的操作似乎都会产生错误,如下所示:
Error: Invariant failed: You should not use "anything-router-related" outsi
import { useState } from 'react';
import About from './Container/About';
import Profile from './Container/Profile';
import {BrowserRouter as Router,Route} from 'react-router-dom'
function App() {
const [state,setState] = useState('Data')
return (
随着ResiveRouterV5.1添加了useParams、useHistory和useLocation,以及React钩子和功能组件带来的编码约定的变化,试图找出使用当代版本的react路由器的方法令人困惑。
当使用react路由器编程导航时,如何正确地传递不同urls之间的参数?
例如,假设我有一个名为component_a的组件,它在单击时调用以下内容:
history.push("/home"); //history is defined as the return value of useHistory() from react-router-dom
我将组件_a的
我在React应用程序中有一个ajax登录。它处理LoginForm组件。应用程序在ajax登录后也使用,我想做一些类似于重定向到另一个React页面的操作。我不知道如何正确地重定向从登录页面到主页成功登录后。有人能帮帮我吗?我正在使用课堂风格来制作组件。
这是来自LoginForm组件的代码:
sendData(e)
{
e.preventDefault();
this.setState({'errors': [], 'success': []});
let formData = new For
我在组件中使用"Link“来导航并通过道具将各自的数据传递给其他组件。下面的主组件是AllSuppliers,它使用链接导航到EditSupplier组件。
import React,{useEffect,useState} from 'react'
import axios from 'axios';
import { BrowserRouter as Router, Route, Link } from "react-router-dom";
import { EditSupplier } from "./EditSuppli
我需要通过路由器将道具传递给组件。这是我的密码:
import React, { Component, PropTypes } from 'react';
import { connect } from 'react-redux';
import AppBarTop from './appbar/AppBarTop';
import Login from '../pages/login/Login';
import {BrowserRouter as Router, Route} from 'react-router-d
当我无法访问反应性路由器的历史道具时,我应该如何将用户重定向到不同的url?
我想做的是,当用户单击导航菜单上的注销链接时,用户将被重定向到根路径'/‘。
handleAuthentication(event) {
this.props.toggleAuthenticationStatus(() => {
// I want to redirect an user to the root path '/' in this callback function.
});
}
当用户单击导航菜单上的登录/注销链接时,将调用handleAu
我是新来React的,我有以下应用程序:(index.js)
import ReactDOM from 'react-dom'
import {Component} from 'react';
import './style.css'
import {
BrowserRouter as Router,
Switch,
Route,
Link
} from "react-router-dom";
import Header from './components/Header'
import Bo
我是新的反应JS,试图实现路由到我的新闻应用程序。我一直在跟踪错误(我使用的是React路由器v4 )
Uncaught (in promise) Error: React.Children.only expected to receive a single React element child.
at invariant (invariant.js:44)
at Object.onlyChild [as only] (onlyChild.js:33)
at Router.render (Router.js:99)
at ReactCompositeCompo