이 클래스를 기능 구성 요소로 변환하려고 시도하고 있지만 운이 없습니다. 누구든지 나에게 방향을 줄 수 있습니까?
import { Redirect, Route, RouteProps } from 'react-router'
function mapStateToProps (state: AppState, ownProps: RouteProps): MappedProps {
const user = state.auth.user
return {
External: user ? user.External : true,
}
}
type InnerRouteProps = RouteProps & MappedProps
class MyInnerRoute extends React.Component<InnerRouteProps> {
render () {
const {
props: { External, component, render, children, ...rest },
} = this
return (
<Route
{...rest}
render={props => {
if (External) {
return <Redirect to={'/'} />
}
if (component) {
const Component = component
return <Component {...props} />
}
if (render) {
return render(props)
}
return children
}}
/>
)
}
}
export default connect(mapStateToProps)(MyInnerRoute)
이렇게 보일 것입니다. const 소품이 어디에 있는지 확실하지 않습니다 ..
const MyInnerRoute = () => {
return (
<Route
{...rest}
render={props => {
if (External) {
return <Redirect to={'/'} />
}
if (component) {
const Component = component
return <Component {...props} />
}
if (render) {
return render(props)
}
return children
}}
/>
)
}
export default MyInnerRoute
소품은 다음과 같이 함수 매개 변수를 통해 들어옵니다.
const MyInnerRoute = (props: InnerRouteProps) => {...
그런 다음 전에 수업에서했던 것처럼 사용할 수 있습니다.
const { External, component, render, children, ...rest } = props
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다