为了账号安全,请及时绑定邮箱和手机立即绑定

关于react-router leave钩子的问题

关于react-router leave钩子的问题

米琪卡哇伊 2018-10-16 13:15:29
我想让用户在当前路由跳转到别的路由前有一个confirm提示,但是我所有的路由都是用配置文件配置的,不是用react组件写的代码:        childRoutes: [            {                path: 'manage/cat',                component: CatManager            }, {                path: 'manage/sku',                indexRoute: {                    component: SkuManager                },                childRoutes: [                    {                        path: 'add',                        component: SkuCreate,                        routerWillLeave: (nextLocation) => {                            console.log('react router 路由跳转=======>',nextLocation);                            return false;                        }                    }                ]            }我想让用户在离开/manage/sku/add路由时执行一些动作,该怎么写?现在这样写并不执行啊
查看完整描述

1 回答

?
回首忆惘然

TA贡献1847条经验 获得超11个赞

应该是onLeave事件吧

routerWillLeave 是高阶组件容器withRouter重写的方法。你如果要用的话应该在组件内部使用,如下

import React from 'react'

import { withRouter } from 'react-router'


const Demo = React.createClass({

  componentDidMount() {

    this.props.router.setRouteLeaveHook(this.props.route, () => {

        return 'funk away'

    })

  },


  render() {

    return <div>go</div>

  }

})


export default withRouter(Demo)


查看完整回答
反对 回复 2018-11-22
  • 1 回答
  • 0 关注
  • 383 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信