1.路由跳转问题:
。 可以使用标签跳转,如Link .NavLink等。
。 如果组件是在Route中的组件,那么该组件的this.props.history.push()可以设置路由,如果组件不在Route中,那么this.props中没有history对象。
。使用 history模块
$ npm install --save history
import { createHashHistory } from 'history' const history = createHashHistory()
// Use push, replace, and go to navigate around.
history
使用这种方法,地址变了,但组件没有变,可能因为没有触发react中路由改变的事件,所以可以使用props进行传递react-router中的history对象。
如:
<MobileMenu history={this.props.history}/>
路由匹配问题:
第一层路由如果是/index;
那么第二层路由应该设置为/index/user。
注意:如果要匹配到第二次路由,那么第一次路由上不能加 exact属性,否则只能匹配第一层路由。
2.组件上不能加clssName,加clssName无效。