Declarative router component for React