反应原生的条件渲染错误

时间:2016-12-11 16:18:56

标签: javascript react-native ecmascript-6 rendering

在条件渲染反应原生组件时,我遇到了问题。 它向我显示了此错误消息:

  

JavascriptException:{" stack":"错误:无法执行' importScripts'在' WorkerGlobalScope'

这是我的代码原则

的一个例子
FATAL EXCEPTION: main
                                                                               Process: com.example.vikesh.chat_application, PID: 4326
                                                                               java.lang.UnsatisfiedLinkError: Couldn't load alljoyn_java from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.example.vikesh.chat_application-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.vikesh.chat_application-1, /vendor/lib, /system/lib]]]: findLibrary returned null
                                                                                   at java.lang.Runtime.loadLibrary(Runtime.java:358)
                                                                                   at java.lang.System.loadLibrary(System.java:526)
                                                                                   at com.example.vikesh.chat_application.AlljoynService.<clinit>(AlljoynService.java:1252)
                                                                                   at java.lang.Class.newInstanceImpl(Native Method)
                                                                                   at java.lang.Class.newInstance(Class.java:1208)
                                                                                   at android.app.ActivityThread.handleCreateService(ActivityThread.java:2553)
                                                                                   at android.app.ActivityThread.access$1800(ActivityThread.java:135)
                                                                                   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
                                                                                   at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                                   at android.os.Looper.loop(Looper.java:136)
                                                                                   at android.app.ActivityThread.main(ActivityThread.java:5017)
                                                                                   at java.lang.reflect.Method.invokeNative(Native Method)
                                                                                   at java.lang.reflect.Method.invoke(Method.java:515)
                                                                                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
                                                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
                                                                                   at dalvik.system.NativeStart.main(Native Method)

3 个答案:

答案 0 :(得分:2)

伙计们我解决了这个问题。 首先我禁用了远程调试,之后错误消息发生了变化,现在它显示我在渲染方法中有语法错误,正好在返回中,所以我改变了这个:

// Example program
#include <iostream>
#include <string>

class XX {};

class YY : public XX {};

class A {
public:
    virtual void fnc(XX*) = 0;
};

class B : public A {
public:
    virtual void fnc(YY*) = 0;
};

class C : public B {
public:
    virtual void fnc(YY*) override {
        std::cout << "test" << std::endl;
    }
};

int main() {
    YY* yy = new YY();
    C* cc = new C();

    cc->fnc(yy);
}

到这个

return({this.customRender()});

现在可行。

答案 1 :(得分:0)

一个问题可能与代码无关,但它是您的应用程序在开发模式下使用捆绑的JS-File的结果。您应该使用打包器进行开发,使用正常的捆绑文件进行生产使用。您可以使用“--allow-file-access-from-files”标志打开Web浏览器,以在开发设置中使用捆绑版本。

另一个可能的问题可能是自我关闭View - 标记。

答案 2 :(得分:0)

检查打包程序日志,您的代码中可能存在语法错误,可能是一个非常简单的错误,例如缺少逗号。在您的代码上运行一个linter,如果包装程序日志中的错误消息没有帮助,它将帮助您找到错误。