Dom*_*omi 1 html javascript hyperlink reactjs twitter-bootstrap-3
这是我的简单导航栏。代码笔在这里:
<Navbar inverse collapseOnSelect>
<Navbar.Collapse>
<Nav>
<NavItem eventKey={1}>
<a href="http://example.com/">
Example
</a>
</NavItem>
</Nav>
</Navbar.Collapse>
</Navbar>
Run Code Online (Sandbox Code Playgroud)
这会生成以下警告:
警告:validateDOMNesting(...): 不能作为 的后代出现。请参阅 App > NavItem > SafeAnchor > a > ... > a。
我知道警告来自NavItem已经生成<a>元素的事实。
在找SafeAnchor+React的时候,只能找到这个看似无关的NPM包。
最简单的 hack-around 似乎<a>用自定义点击处理替换了<span>:
openLink(href) {
event.preventDefault();
window.open(href);
}
...
<span onClick={this.openLink.bind(this, "http://example.com/"}>
Sandbox
</span>
Run Code Online (Sandbox Code Playgroud)
不确定是否有一个不太复杂的解决方案?
您可以使用Navbar.Link和Navbar.Text将文本和非导航链接添加到您的Navbar.
松散的文本和链接可以包含在便利组件中:Navbar.Link 和 Navbar.Text
const { Accordion, Panel, Button, Modal, Form, FormGroup,
FormControl, ControlLabel, Navbar, Nav, NavItem,
NavDropdown, MenuItem, Jumbotron
} = ReactBootstrap;
class App extends React.Component {
render() {
return <Navbar inverse collapseOnSelect>
<Navbar.Header>
<Navbar.Brand>
<a href="#">Brand</a>
</Navbar.Brand>
<Navbar.Toggle />
</Navbar.Header>
<Navbar.Collapse>
<Nav>
<NavItem eventKey={1} href="#">Link</NavItem>
</Nav>
<Navbar.Text>
<Navbar.Link href="https://google.com" target="_blank">External Link</Navbar.Link>
</Navbar.Text>
</Navbar.Collapse>
</Navbar>;
}
}
ReactDOM.render(
<App/>,
document.getElementById('app')
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1714 次 |
| 最近记录: |