记录学习RN遇到的报错

格式:【描述】 【截图】 【解决】 【参考】java

ios

关键词:EMFILE

【描述】 react

ERROR Error watching file for changes: EMFILE
{"code":"EMFILE","errno":"EMFILE","syscall":"Error watching file for changes:","filename":null}
Error: Error watching file for changes: EMFILEandroid

at _errnoException (util.js:1041:11)
at FSEvent.FSWatcher._handle.onchange (fs.js:1359:9)

【截图】 ios

图片描述

【解决】 git

升级最新MacOS系统后,须要从新安装一次brew install watchmangithub

或者segmentfault

须要安装watchmanapp

git clone https://github.com/facebook/w...
cd watchman
./autogen.sh
./configure
make
sudo make installide

【参考】this

https://segmentfault.com/q/10...

android

关键词:override

【描述】

Native module VectorIconsModule tried to override VectorIconsModule for module name RNVectorIconsModule. If this was your intention, set canOverrideExistingModule=true

【截图】

clipboard.png

【解决】

找到MainApplication.java(android/app/src/main/java/com),里面有有重复的引用,把重复的部分删除就好了

import com.oblador.vectoricons.VectorIconsPackage;// 删除
...
public class MainApplication extends Application implements ReactApplication {
    ...
    new VectorIconsPackage(), // 删除
}

【参考】

https://stackoverflow.com/que...

关键词:refs

【描述】

addComponentAsRefTo(...): Only a ReactOwner can have refs. You might be adding a ref to a component that was not created inside a component's render method, or you have multiple copies of React loaded (details: https://fb.me/react-refs-must...

【截图】

clipboard.png

【解决】

<View ref={"abcd"}/>  

this.refs.abcd    // 若是在rander以外使用ref就会报错报错

改为:

myRefs = {
    abcd: null
}

<View ref={(abcd) => {this.myRefs.abcd = abcd}}>

this.myRefs.abcd
相关文章
相关标签/搜索