Какие есть архитектурные решения для лаконичной реализации ролей в React-приложениях?
еще не пробовоал, но можно посотреть как тут
https://auth0.com/blog/role-based-access-control-r...
Все просто, я сам такое недавно делал. 
В роутах определяешь область видимости. 
А в конечных компонентах из стора получаешь текущую роль. 
Вот пример такого компонентаclass ProtectedRoute extends Component {
  
  render() {
    const {component, ...rest} = this.props
    return <Route {...rest} render = {this.getComponent}/>
  }
  
  getComponent = (...args) => {
    return this.props.user && this.props.access.indexOf(this.props.user.role) !== -1 ? <Main title={this.props.title} ><this.props.component {...args} /></Main> :
      <ErrorPage/>
  }
}

export default connect(state => ({
  user: userSelector(state)
}), null, null, { pure: false })(ProtectedRoute)
Тут в this.props.access определяешь идентификаторы доступных ролей