>

나는< PrivateRoute >반응 라우터에 설명 된대로 서류TypeScript 사용. 누구든지 나를 도울 수 있습니까?

반응 라우터 문서의 privateRoute :

const PrivateRoute= ({ component: Component, ...rest })=> (
  <Route {...rest} render={props=> (
    fakeAuth.isAuthenticated ? (
      <Component {...props}/>    ) : (
      <Redirect to={{pathname: '/login', state: { from: props.location }
   }}/>  )
 )}/>)

다음은 TypeScript 버전입니다 (작동하지 않음).

const PrivateRoute= (theProps: { path: string, component: React.SFC<RouteComponentProps<any> | undefined> | React.ComponentClass<RouteComponentProps<any> | undefined> })=> {
    return <Route path={theProps.path} render={props=> (
        fakeAuth.isAuthenticated ? (
            <React.Component {...theProps} /> <!--**** It will raise error *** -->        ) : (
                <Redirect to={{
                    pathname: '/',
                    state: { from: props.location }
                }} />            )
    )} />}

< React.Component {... thisProps} />옳지 않습니다. 오류 : NodeInvocationException : inst.render가 함수가 아닙니다. TypeError : inst.render는 함수가 아닙니다.

관련 자료

  • 이전 gorm - grails Criteria 쿼리에서 하위 개체 수 얻기
  • 다음 두 가지 이상의 유형에 대한 Java 제네릭