Javascript 反应-更改可以在任何地方打开的模式的URL
我是React的新手,我被要求在一个已经完成的应用程序中实现这个功能。所以,我不想破坏一切 我有一个包含登录/注册/激活/密码恢复/密码重置组件的模式,根据情况而定。此模式可以出现在每个公共页面上。可以在模式中导航,从登录到注册,从登录到密码恢复,从密码重置到登录。 我们可以从he标题中的链接和通过站点的其他链接访问modal。模态显示为动画过渡 我被要求根据显示的模式内容更改URL URL必须是:Javascript 反应-更改可以在任何地方打开的模式的URL,javascript,reactjs,react-router,react-redux,Javascript,Reactjs,React Router,React Redux,我是React的新手,我被要求在一个已经完成的应用程序中实现这个功能。所以,我不想破坏一切 我有一个包含登录/注册/激活/密码恢复/密码重置组件的模式,根据情况而定。此模式可以出现在每个公共页面上。可以在模式中导航,从登录到注册,从登录到密码恢复,从密码重置到登录。 我们可以从he标题中的链接和通过站点的其他链接访问modal。模态显示为动画过渡 我被要求根据显示的模式内容更改URL URL必须是: site.com/en/login site.com/en/register site.com
site.com/en/login
site.com/en/register
site.com/en/activation
site.com/en/password-recovery
site.com/en/password-reset
即使URL是site.com/en/page1/info1/[…]
或主页在直接URL访问/刷新时默认显示在模式后面,模式后面的页面也应保持不变
我在网上找到了很多拼图的拼图块,但是拼图块似乎不合适。我只是想知道完成这项任务的最佳方法
我现在没有令人信服的代码来显示
如果这有帮助的话,这是一个在NodeJS服务器上使用JSX的React Redux应用程序 如果您的组件通过路由器呈现,您可以使用
history.push()
,否则您可以使用react Router dom
中的withRouter
包装组件,然后使用history.push()
如果这两种方法都不起作用,您仍然可以从浏览器左侧的
窗口中找到位置对象,请尝试….也许“历史”库可以轻松帮助您
从“历史记录/createBrowserHistory”导入createHistory
const history=createHistory()
历史。聆听((位置、动作)=>{
//位置是类似于window.location的对象
console.log(操作,location.pathname,location.state)
})
import { withRouter } from 'react-router'
const myComponent = () => {
...
}
// by this history is going to be available from props in this component
export default withROuter(myComponent)