小编Mit*_*tch的帖子

如何检测何时打开React Native应用程序?

我的React Native应用程序希望在用户打开应用程序时将其本地数据与API同步.这应该在用户返回应用程序时发生,而不仅仅是在第一次启动时.基本上,我想要的是相当于AppDelegate的applicationDidBecomeActive回调,以便我可以在那里运行同步代码.显然,我想在React Native中这样做.

据我所知,root组件上的componentWillMount/ componentDidMount回调仅在最初加载应用程序时运行,而不是在用户离开应用程序并稍后返回(未明确退出应用程序)之后运行.

我认为AppStateAPI将提供此功能,但它的change侦听器也不会在这种情况下触发.

这似乎是明显的功能,所以我必须错过一些明显的东西.救命!

react-native

24
推荐指数
1
解决办法
1万
查看次数

如何在不污染全局命名空间的情况下公开javascript对象以进行单元测试

我有一个javascript自动完成插件,它使用以下类(用coffeescript编写):Query,Suggestion,SuggestionCollection和Autocomplete.这些类中的每一个都有一个用Jasmine编写的相关规范.

插件在模块中定义,例如:

(function(){
  // plugin...
}).call(this);
Run Code Online (Sandbox Code Playgroud)

这可以防止类污染全局命名空间,但也可以将它们隐藏在任何测试中(使用jasmine进行规范,或使用类似q-unit的单元测试).

在不污染全局命名空间的情况下,公开javascript类或对象进行测试的最佳方法是什么?

我会回答我提出的解决方案,但我希望有一些更标准的东西.

更新:我尝试的解决方案

因为我是一个<100 xp的新手,我无法回答8个小时的问题.而不是等待我只是添加我在这里做的.

为了规范这些类,我发明了一个名为的全局对象_test,我公开了所有类以进行测试.例如,在coffeescript中:

class Query
  // ...

class Suggestion
  // ...

// Use the classes

// Expose the classes for testing
window._test = {
  Query: Query
  Suggestion: Suggestion
}
Run Code Online (Sandbox Code Playgroud)

在我的规范中,我可以透露我正在测试的类:

Query = window._test.Query

describe 'Query', ->
  // ...
Run Code Online (Sandbox Code Playgroud)

这样做的好处是只有_test对象被污染,并且它不太可能与该对象的另一个定义发生冲突.尽管如此,它仍然没有我想要的那么干净.我希望有人能提供更好的解决方案.

javascript testing unit-testing coffeescript jasmine

7
推荐指数
1
解决办法
802
查看次数

如何让Thor找到系统安装.thor文件的模板?

我已经.thor按照我喜欢的方式创建了一个用于设置新ruby项目的脚本.我正在使用Thor :: Actions directory命令完全从模板目录结构构建应用程序,而不是使用heredocs内联定义它们.脚本目录看起来像这样:

rubynu.thor
template/
  bin/
  lib/
    %app_name%.rb.tt
    %app_name%
  README.markdown
  .gitignore
  ...
Run Code Online (Sandbox Code Playgroud)

这非常有用,让我可以随着口味的变化轻松地想象和更改模板的各个部分.

但是,一旦.thor文件系统安装使用,我无法找到一个很好的方法来找到模板目录thor install rubynu.thor.安装将.thor文件的副本~/.thor粘贴到但忽略template/目录,因此不再找到模板.

我不想硬编码source_root路径或手动复制模板目录~/.thor.是否内置了一些内容来处理安装模板和.thor文件?如果它们在安装时可以打包在一起会很棒.

如果没有,最好的解决方法是什么?当然,在某处使用模板文件的系统安装了thor任务.你过得怎么样?我想我可以绕过thor install并提供这个作为一个宝石(虽然这看起来有点矫枉过正),或咬住子弹并将所有模板定义内联在一个巨大的.thor文件中(以后对结构进行更改不太令人愉快).

作为参考,这是.thor我正在使用的简单文件:

class Rubynu < Thor::Group
  include Thor::Actions

  argument :app_name

  def self.source_root
    File.dirname(__FILE__)
  end

  def apply_directory_template
    directory 'template', app_name
  end
end
Run Code Online (Sandbox Code Playgroud)

谢谢!

ruby thor

5
推荐指数
1
解决办法
1377
查看次数

红宝石测验还活着吗?

谷歌搜索带来了3个退役版本:www.rubyquiz.com(v1),http://www.splatbang.com/rubyquiz/ (v2),http://rubyquiz.strd6.com/ (v3).看起来发布到v3的最后一个测验是在2010年.

是否有Ruby测验4或类似的东西?

ruby

5
推荐指数
0
解决办法
1352
查看次数