2016-08-03 5 views
0

를 다시 다운로드 나는이 내 경로에 대해 다음 설정 :는 라우터 반응 : 일부 내부 링크 앱

<Link 
    className={className} 
    to={{ 
    name: 'pro-job', 
    params: {...routerUtils.getParams().toJS(), jobUuid: job.uuid}, 
    }} 
    > 
    {job.uuid} 
</Link> 

경우 : MyJobsTabAccepted에서

import React from 'react' 
import {Route, IndexRedirect} from 'react-router' 

import MainView from '../pages/pro/main' 
import MyJobsListView from '../pages/pro/my-jobs' 
import MyJobsTabAccepted from '../pages/pro/my-jobs/tabs/Accepted' 
import MyJobsTabLeads from '../pages/pro/my-jobs/tabs/Leads' 

import JobView from '../pages/pro/job' 
import JobViewTabQuote from '../pages/pro/job/tabs/Quote' 

const jobRoutes = (
    <Route name='pro-job' path=':jobUuid' component={JobView}> 
    <Route name='pro-job-messages' path='messages' /> 
    <Route name='pro-job-quote' path='quote' component={JobViewTabQuote} /> 
    <IndexRedirect to='messages' /> 
    </Route> 
) 

const jobsRoutes = (
    <Route component={MyJobsListView}> 
    <Route 
     name='pro-jobs-accepted' 
     path='accepted' 
     component={MyJobsTabAccepted} 
     /> 
    <Route 
     name='pro-jobs-leads' 
     path='leads' 
     component={MyJobsTabLeads} 
     /> 
    </Route> 
) 

export default (
    <Route component={MainView}> 
    <Route name='pro-jobs' path='my-jobs'> 
     {jobsRoutes} 
     {jobRoutes} 
     <IndexRedirect to='accepted' /> 
    </Route> 
    <IndexRedirect to='my-jobs' /> 
    </Route> 
) 

나는 정의 pro-job 경로에 대한 링크를 가지고 이 링크를 클릭하면 페이지가 다시 다운로드되고 앱이 다시 시작됩니다. 이 문제를 해결할 방법을 찾을 수 없습니다.

나는 나머지 응용 프로그램에서 잘 작동하는 use-named-routes을 사용합니다.

구성 요소는 withRouter으로 묶인 구성 요소에 만들어집니다. 내가 추적 기능을 필요로 이러한 링크는 "빌더 숨겨진"DIV에서 생성 및 이동 어떤 이유

:

_moveItems() { 
    _.forEach(this.builder.children, c => { 
     this.container.appendChild(c.cloneNode(true)) 
    }) 
    } 
그것은 그들에 대해 아무것도 모르는 반응을 보이는

, 그래서 그들은 정상 링크로 처리됩니다.

답변

0

경로 앞에 /을 넣어보세요. 예 : /mypath.

<Link to="/mypath">My path</Link> 
+0

아, 문제가 있습니다. I는이 기능이 링크 이동 : _moveItems을() { _.forEach (this.builder.children, C => { this.container.appendChild (c.cloneNode) }) (TRUE)} –

0

문제는 moveItem 때문입니다.

cloneNode는 노드 요소의 eventHandler를 복제하지 않으므로 구성 요소의 기능이 완전히 손실됩니다.

관련 문제