ではありません、私は次のようにコンポーネントをレンダリングしようとPrivateRouteコンポーネントを持っていますこのような:(ルートによって作成された)Componentがinst.renderを与えるが、関数エラー
<PrivateRoute loggedIn={!!token} path="/user" component={User} />
タイトルに誤りがあります。私はどこに間違って行くことができるのだろうか?
ありがとうございます。
ではありません、私は次のようにコンポーネントをレンダリングしようとPrivateRouteコンポーネントを持っていますこのような:(ルートによって作成された)Componentがinst.renderを与えるが、関数エラー
<PrivateRoute loggedIn={!!token} path="/user" component={User} />
タイトルに誤りがあります。私はどこに間違って行くことができるのだろうか?
ありがとうございます。
あなたがcomponent
としてPrivateRoute
に渡されたコンポーネント解凍しています
const PrivateRoute = ({ component, loggedIn, ...rest }) => (
// HERE^
をしかし、あなたはそれをレンダリングするためにreact
から輸入されたComponent
を(資本C
に注意してください)を使用します。
<Component {...props} />
そして、その輸入Component
は、任意のrender
メソッドを持っていません。したがって、あなたが得るエラー。あなたは、次のようなあなたのアンパックcomponent
の名前を変更する必要があります修正するには
:
const PrivateRoute = ({ component: Comp, loggedIn, ...rest }) => (
// HERE^
<Route
{...rest}
render={props =>
loggedIn ? (
<Comp {...props} />
// HERE^
) : (
<Redirect
to={{ pathname: "/login", state: { from: props.location } }}
/>
)
}
/>
);
を受け取ります。ありがとうございました! – hxuanhung
どのようなエラーあなたはPropblemが解決 –