React native:始终运行的组件
React native: Always running component
我其实不知道该如何命名这个问题!
我在react native中有一个JS文件,从服务器获取数据并将其与本地数据库进行比较。我需要这些同时运行,我怎么才能做到呢?当应用启动时,它应该运行,改变视图(导航到其他组件)不应该破坏它,它应该仍然在运行。
解决方案吗?
你在解释一种叫做Singleton的设计模式。
方法如下:
let instance = null;
class Singleton{
constructor() {
if(!instance){
instance = this;
}
// to test whether we have singleton or not
this.time = new Date()
return instance;
}
}
测试单在上面的类中,我们定义了一个time属性来确保单例正常工作。
let singleton = new Singleton()
console.log(singleton.time);
setTimeout(function(){
let singleton = new Singleton();
console.log(singleton.time);
},4000);
如果两个实例输出相同的时间,就意味着我们有一个工作的单例。
现在,您可以在单例中异步加载服务器数据,并对其进行任何操作。当你试图访问单例类时,它将是同一个实例,并且不会被实例化多次。换句话说,它不会被破坏。
来源:http://amanvirk.me/singleton-classes-in-es6/
我迟到了,但这可能会帮助别人,
一个选择是创建一个单例类。但另一种选择是为导航文件创建一个容器。比;导航容器只是一个普通的组件,其子组件是主组件导航组件。
你在导航容器中的代码一直在运行。
我使用这样的导航容器…
export default function App() {
return (
<Provider store={store}>
<NavigationContainer />
</Provider>
);
}
从这个导航容器返回导航组件,比如>这个
return (
<AuthNavigator ref={navRef} />
);
相关文章:
- 具有大型数据集的组件仅在 IE11/Edge 上运行缓慢
- 过早运行的角度组件/指令的$postLink
- 是否可以从 Firefox 运行 bash 脚本?(使用 Firefox 附加组件 SDK)
- Firefox附加组件:cfx-run运行良好,cfx-xpi运行良好,但附加组件没有任何作用
- VueJS组件来运行一个MelonJS游戏
- IE11 运行时错误: 429 ActiveX 组件无法创建对象
- 将对象从Javascript传递到基于C++/CX接口的C++/CX-Windows运行时组件
- 在“运行时”从外部脚本加载React JS组件
- 组件对话框无法在IE中运行(无法获取属性'clear'未定义或空引用)
- 淘汰嵌套组件:$(document).ready() ..在加载嵌套组件之前运行
- React-Native:加载组件时在后台运行一个函数
- 同一页面上的多个KnockoutJs组件单独运行
- 在Vue.js中使用仅运行时构建的组件使用vuify
- React native:始终运行的组件
- Angular2在运行时将AppModule中的服务注入到依赖的ngmodule的组件中
- 如何从JavaScript传递对象到Windows运行时组件c#
- 在ExtJS中检索运行时组件维度
- 我只能在使用Angular2 Universal的客户端中运行组件方法吗
- Vue.js 路由器:在组件准备就绪时运行代码
- 在运行时添加ExtJS组件-“刷新视图”