Я хочу написать оберточный компонент, который передает любые реквизиты для детей. Например, в системе чистого реагирования.передать пользовательскую опору всем детям, реагирующим на маршрутизатор
<Router history={ hashHistory } >
<Route path="/" component={Base}>
<Route component={Auth}>
<Route path="/who" component={Who} />
<Route path="/features" component={Features} />
<Route path="/try" component={Try} />
</Route>
</Route>
</Router>
Я хочу передать пользователю с помощью реквизита, чтобы ни кто, особенности или попробовать компоненты из Auth, которые будут тянуть из локального хранилища.
Глупые вещи, которые я пытался сделать, это манипулировать this.props или this.props.children, но это не нормально, что такое рекомендуемое решение?
class Auth extends Component {
render() {
//find user or null
var user = JSON.parse(localStorage.getItem('user')) || [];
//this.props.user = user;
console.log('top level router props.user', this.props.user);
return (
<div>
{this.props.children}
</div>
);
}
}
вы можете использовать 'onEnter' Пример дочернего маршрута будет как этот' <Маршрут путь = "приборной панели" компонента = {Dashboard} OnEnter = {requireAuth} /> ' –
@KeshanNageswaran благодарит за ответ, мое приложение немного более подробно о ролях, и я хочу, чтобы иметь возможность оценить строку. Я написал небольшой API-интерфейс обертки вокруг базового класса реагирования, который я могу оценить, потому что я просто не уверен, как перейти с верхнего уровня. Я думаю, что мне может понадобиться использовать cloneElement – mibbit
, надеюсь, что [реакция-роутер-проверка подлинности] (https://www.npmjs.com/package/react-router-role-authorization) поможет удовлетворить ваши потребности [blog post] (http://frontendinsights.com/role-based-authorization-using-react-router/), а также –