Я изучаю React.js. Я знаком с приведенным ниже кодом
class Login extends Component {
state = { email: '',};
render = () => {
return (//some JSX code);
}
}
Но я получил код ниже как решение проблемы.
const PrivateRoute = ({ component: Component, ...rest }) => (
<Route
{...rest}
render={props =>
(Auth.isAuthenticated() ? ( <Component {...props} />) : (<Redirect to={{ pathname: '/',}}/>))
}
/>
);
Я не мог понять код выше. Может ли кто-нибудь помочь мне понять?
Что здесь {...rest}
?
Я знаю оператора спреда. Почему я передаю это здесь ({ component: Component, ...rest })
и здесь <Route {...rest}
? Что он делает в этих двух местах?
Почему render()
выглядит так render={props => }
?
Спасибо всем.
{...rest}
называется синтаксисом расширения. Когда вы пишетеrender={props => ... }
, вы даете функцию реквизитуrender
. Сначала это может показаться более очевидным, если вы напишетеrender={(props) => { return ... }}
- person Tholle   schedule 10.08.2018