Estou tendo alguns problemas de estilo ao usar o react-router e o react-bootstrap. abaixo está um snippet do código
import { Route, RouteHandler, Link } from 'react-router';
import AuthService from '../services/AuthService'
import { Button, Nav, Navbar, NavDropdown, MenuItem, NavItem } from 'react-bootstrap';
<Nav pullRight>
<NavItem eventKey={1}>
<Link to="home">Home</Link>
</NavItem>
<NavItem eventKey={2}>
<Link to="book">Book Inv</Link>
</NavItem>
<NavDropdown eventKey={3} title="Authorization" id="basic-nav-dropdown">
<MenuItem eventKey="3.1">
<a href="" onClick={this.logout}>Logout</a>
</MenuItem>
</NavDropdown>
</Nav>
Isso é o que parece quando ele é renderizado.
Eu sei que <Link></Link>
está causando isso, mas não sei por quê? Eu gostaria que isso fosse alinhado.
react-router
react-bootstrap
chad schmidt
fonte
fonte
Usar o LinkContainer do react -router-bootstrap é o caminho a percorrer. O código a seguir deve funcionar.
Esta é principalmente uma nota para o eu futuro, ao pesquisar esse problema no Google. Espero que outra pessoa possa se beneficiar com a resposta.
fonte
Atualiz 2020: testado com
react-boostrap: 1.0.0-beta.16
ereact-router-dom: 5.1.2
Atualização 2019: para aqueles que estão trabalhando com react -bootstrap v4 (usando 1.0.0-beta.5 atualmente) e react-router-dom v4 (4.3.1) basta usar "como" prop de Nav.Link, aqui está completo exemplo:
Aqui está um exemplo de trabalho: https://codesandbox.io/s/3qm35w97kq
fonte
LinkContainer
partirreact-router-bootstrap
, porque esta solução suportaactiveClassName
.Você já tentou usar o react-bootstrap's
componentClass
?fonte
Você pode evitar o uso
LinkContainer
de react-router-bootstrap. No entanto,componentClass
vai se tornaras
no próximo lançamento. Portanto, você pode usar o seguinte snippet para a última versão (v1.0.0-beta):fonte
Aqui está uma solução para uso com o roteador react 4:
fonte
router.transitionTo(href)
usarrouter.history.push(href)
IndexLinkContainer é uma opção melhor do que LinkContainer se você quiser que o NavItem interno destaque qual está ativo com base na seleção atual. Nenhum manipulador de seleção manual é necessário
fonte
IndexLinkContainer
? não consegui encontrar em nenhum lugar nos docs ...Você pode usar o histórico , apenas certifique-se de criar o componente com o roteador :
em App.js:
em Navigation.js:
fonte
Para adicionar funcionalidade com prop "activeKey" no react-bootstrap v_1.0 beta, use este formato:
fonte