【发布时间】:2018-04-16 16:24:29
【问题描述】:
我来自 AngularJS 世界,几天前开始使用 react-router 编写我的第一个 React 应用程序,在 AngularJS 中我这样做:
app.directive('Loading', function($rootScope, $timeout) {
return {
restrict: 'E',
replace: true,
template: '<p>Loading</p>'
link: function(scope, element) {
$rootScope.$on('$routeChangeStart', function(event, currentRoute, previousRoute) {
element.removeClass('ng-hide');
});
$rootScope.$on('$routeChangeSuccess', function() {
element.addClass('ng-hide');
});
}
};
});
然后我只需添加<Loading></Loading>。所以现在在我的 React 应用程序中我有:
class App extends Component {
render() {
return (
<Router>
<div>
<ul>
<li><Link to="/">Home</Link></li>
<li><Link to="/about">About</Link></li>
</ul>
<hr/>
<Route exact path="/" component={Home}/>
<Route path="/about" component={About}/>
</div>
</Router>
);
}
}
我的两个组件很简单:
class Home extends Component {
render() {
return (
<h1>Home</h1>
);
}
}
class About extends Component {
render() {
return (
<h1>About</h1>
);
}
}
我可以不使用reduxJS 来执行此操作吗?
【问题讨论】:
标签: javascript reactjs redux react-redux react-router