2017-03-03 15 views
0

react-router가 페이지로 리디렉션되기 전에 Meteor 메소드를 호출 할 수 있습니까? 로그인 한 사용자의 페이지 뷰에 대한 기록을 만들고 싶습니다.react-router의 beforeBefore 이벤트

나는 철 라우터에 내가 ReactTraining의 반응 라우터 유사한 이벤트 핸들러를 찾을 수 없습니다 onBeforeAction: function() {}

를 사용할 수있는 참조하십시오. 자신의 문서에서 검색 중입니다. https://github.com/ReactTraining/react-router/tree/1.0.x/docs

유성 서버 쪽에서는 json-routes를 사용하고 있습니다. 나는 또한 그들의 문서를 검색했고 onBeforeAction 이벤트 핸들러와 관련된 것을 찾을 수 없다.

나는 반응 라우터를 사용하므로 철제 라우터를 동시에 사용할 수 없습니다. 그래서 브라우저 기록을 듣고 유성-ReactJS에

답변

1

시도를 로그인 한 사용자의 페이지 뷰를 기록 할 수있는 방법이 있습니까 browserHistory.listen

하지만 먼저 당신은

+0

은 간단한 샘플을 줄 수 있습니까? – JMA

+0

browserHistory.listen (function (ev) { console.log ('수신 대기', ev.pathname); }); {routes}

+0

설정 파일을 만들었습니다. 그 파일에 모든 라우터 구성 요소를 코딩합니다. 그래서 브라우저의 히스토리 모듈을 가져오고 history = {browserHistory}를 모든 라우터 구성 요소에 추가하겠습니까? – JMA

1
getCurrentLocation으로 현재 위치를 감지해야

예!

저자 :

  • *이 이벤트 지향 프로그래밍 라우터 helper.js

import {browserHistory} from 'react-router' ; 
import {fire} from 'mufa'; 

export function redirect(to) { 
    fire('onBeforeRedirect', to); 
    browserHistory.push(to); 
    fire('onAfterRedirect', to); 
} 
위한 라이브러리를 사용하는 한 방법 및
  • 에 리디렉션 로직을 캡슐화

    기타 파일 구독 - OnBefore.js

    import {on} from 'mufa'; 
    
    on('onBeforeRedirect', (to) => { 
        //Your code here will be running before redirection . 
    }); 
    

    컴포넌트 - Redirect.js 전화

    import {redirect} from 'router-helper'; 
    
    
    //... 
    
        redirect('/profile'); //<-- This call will trigger also onBefore listeners