有人能解释一下React-Router如何组装这些组件吗?
我的意思是:以React-Router文档中的代码为例......
<Router history={browserHistory}>
<Route path="/" component={App}>
<Route path="about" component={About}/>
<Route path="users" component={Users}>
<Route path="/user/:userId" component={User}/>
</Route>
<Route path="*" component={NoMatch}/>
</Route>
</Router>
假设我在地址栏中输入了网址“/ inbox / messages /”。
我猜它首先调用“App”组件并将其合并到DOM树中。
但是怎么回事?
他们使用“this.props.children”属性。
const App = React.createClass({
render() {
return (
<div>
<h1>App</h1>
<ul>
<li><Link to="/about">About</Link></li>
<li><Link to="/inbox">Inbox</Link></li>
</ul>
{this.props.children}
</div>
)
}
})
但“App”有几个孩子。正确?
它如何决定接下来必须包含哪些内容? 该算法如何运作?
答案 0 :(得分:1)
就反应路由器文档说的url匹配而言,他们使用DFS(深度优先搜索)你可以找到它react-router Algorithm。 你可以找到有关DFS here
的信息