小编mel*_*nke的帖子

有没有一种在React.js中使用私有变量和方法的好方法

我注意到我可以使用这样的私有变量:

var Hello = React.createClass(new (function(){

    var name;

    this.getInitialState = function() {
        name = "Sir " + this.props.name;
        return null;
    };

    this.render = function() {
        return <div>Hello {name}</div>;
    };
})());

React.render(<Hello name="World" />, document.getElementById('container'));
Run Code Online (Sandbox Code Playgroud)

为什么我不应该这样做?

感谢您的任何帮助

javascript reactjs

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

如何在xml布局上使用随播对象?

我试图在布局内使用伴随对象属性,但编译器无法识别它。

科特林班

class MyClass {
  companion object {
    val SomeProperty = "hey"
  }
}
Run Code Online (Sandbox Code Playgroud)

XML布局

<layout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto"
  xmlns:fancy="http://schemas.android.com/tools">

  <data>
    <import type="package.MyClass"/>
  </data>

  <TextView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:text="@{MyClass.Companion.SomeProperty}"/>

</layout>
Run Code Online (Sandbox Code Playgroud)

我得到了这个错误:

e: java.lang.IllegalStateException: failed to analyze: android.databinding.tool.util.LoggedErrorException: Found data binding errors.
****/ data binding error ****msg:Could not find accessor package.MyClass.Companion.SomeProperty file:/path/to/my/layout.xml loc:21:67 - 21:103 ****\ data binding error ****

    at org.jetbrains.kotlin.analyzer.AnalysisResult.throwIfError(AnalysisResult.kt:57)
    at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules(KotlinToJVMBytecodeCompiler.kt:138)
    at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:154)
    ...
Caused by: android.databinding.tool.util.LoggedErrorException: Found data binding errors.
****/ data binding error ****msg:Could not find accessor package.MyClass.Companion.SomeProperty …
Run Code Online (Sandbox Code Playgroud)

android kotlin android-databinding

5
推荐指数
3
解决办法
1675
查看次数

使用Chrome FileSystem,让用户选择一个目录,在里面加载文件.并保存该目录中的文件而不再提示

我找不到这个场景的任何例子,所以我们走了:

我希望用户选择一个目录,加载其中的所有文件,更改它们,并保存此文件覆盖它或将新文件保存在同一目录中,而不询问他想要保存的位置.

  • 我不知道如何列出目录的文件
  • 我不知道如何在不提示filechooser窗口的情况下将文件保存在目录中

我相信这是可能的,因为我在这里看到类似的东西(最后一段):http: //www.developer.com/lang/using-the-file-api-outside-the-sandbox-in-chrome-packaged-apps. HTML

任何答案将不胜感激,谢谢

编辑:感谢克里斯约翰森给我这个伟大的答案:

var fileHandler = function() {

  var _entry = null;

  this.open = function(cb) {

    chrome.fileSystem.chooseEntry({
      type: 'openDirectory'
    }, function(dirEntry) {

      if (!dirEntry || !dirEntry.isDirectory) {
        cb && cb(null);
        return;
      }

      _entry = dirEntry;

      listDir(_entry, cb);
    });


  };

  this.save = function(filename, source) {

    chrome.fileSystem.getWritableEntry(_entry, function(entry) {

      entry.getFile(filename, {
        create: true
      }, function(entry) {
        entry.createWriter(function(writer) {

          writer.onwrite = function() {
            writer.onwrite = null;
            writer.truncate(writer.position);
          };

          writer.write(new Blob([source], {
            type: 'text/javascript'
          })); …
Run Code Online (Sandbox Code Playgroud)

google-chrome-app

4
推荐指数
1
解决办法
3429
查看次数

如何在Service Worker中发出JSONP请求?

如何在Service Worker中发出JSONP请求?

您可能知道,服务工作者没有document.因此,像这样的许多JavaScript方法不起作用.

我需要发出JSONP请求,因为Blogger API不使用CORS回答来自不同域的请求.

感谢您的答复.

javascript service-worker

4
推荐指数
1
解决办法
430
查看次数

Node.js - 并发写入和读取对象

嗯,我一直在找这个话题,但是没有找到,所以我会问你:

我需要频繁地在服务器上的数组上读写,所以我决定不使用数据库,但我不知道最佳做法是什么?这将是很多数据,它可以是一个javascript数组吗?是否可以以非阻塞方法进行读写但避免并发问题?

它是一个MMORPG,一个多人在线游戏,数据是所有玩家在线。该过程几乎将玩家所做的每一步都写在上面,然后再阅读。我在想一个子进程,或者一些可以更快和非阻塞地完成进程的东西,但我什至知道子进程是什么哈哈!

谢谢

node.js

2
推荐指数
1
解决办法
2536
查看次数

如何在不将变量重新分配给最终变量的情况下使用lambda?

我总是要将我的变量重新分配给标记为的另一个变量final:

public void method(int myvar) {

    myvar = myvar + 1;

    doSomething(myvar); //I need to change myvar before the lambda

    final int newvar = myvar; //this line is stupid
    //could be something like:
    //makefinal myvar;

    open(con -> {
        doOtherThing(newVar);
    });
}
Run Code Online (Sandbox Code Playgroud)

如果有另一种方式来声明我的变量在open调用之前不会被更改,那将会非常棒.

java lambda

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

是否可以在@Bindable上添加onOnPropertyChangedCallback?

我想观察一个@Bindable通过Java,可以吗?

我读到我可以在此答案上观察到ObservableField:https : //stackoverflow.com/a/31885802/858257

但有时您需要原始字段,而最好的方法是使用@Bindable

android android-databinding

0
推荐指数
1
解决办法
1253
查看次数