我正在使用 React-Router 来导航我的移动应用程序。出于某种原因,我的组件在每次转换时都会卸载,然后在“返回”时重新安装。这会导致丢失状态和丢失滚动位置。我没有在任何地方做“ignoreScrollPosition”,所以我对可能导致这种情况的原因感到困惑。
我正在使用 Reflux 来管理我的状态并使用 Cordova/Phonegap 为手机编写应用程序。有没有人在使用 Cordova/Phonegap 之前遇到过这个问题?
这是我用于路由器的代码:
var React = require('react');
var Reflux = require('reflux');
var Router = require('react-router');
var Route = Router.Route;
var DefaultRoute = Router.DefaultRoute;
var RouteHandler = Router.RouteHandler;
var App = React.createClass({
render: function () {
return (
<RouteHandler/>
);
}
});
...
var routes = (
<Route handler={App} path="/">
<DefaultRoute handler={LaunchScreen} />
<Route name="sample" path="/sample" handler={SampleScreen} />
...
</Route>
);
Router.run(routes, function (Root) {
React.render(<Root/>, document.body);
});