出现问题
-
删除 node_modules 重新 npm install
-
lsof -i:8081
,kill掉占用8081端口的程序,然后再编译程序 -
连接真机试试
-
重启电脑
- 编译时
Command CodeSign failed with a nonzero exit code
:https://stackoverflow.com/questions/52421999/xcode-10-command-codesign-failed-with-a-nonzero-exit-code
关于ListView: setState会触发render,但render未必导致ListView刷新 ListView有点特殊,必须修改datasource才会更新。datasource的修改必须通过调用cloneWith方法,这个方法多半是接受一个数组。这里就还存在一个问题,数组是引用型数据,所以如果你只在原数组上修改,其引用地址不会变,那么cloneWith方法会认为数组没有变化。所以你还需要想办法得到一个“新”数组。可以使用 setState({list:JSON.parse(JSON.stringfy(list))}) 这样就可以了
关于FlatView:
单纯修改data不会让FlatView更新,如果data是在state中的话,添加 extraData={this.state}
可让state修改的时候刷新列表
此时控制台窗口网址应该是 localhost:8081
,将其改成电脑的内网地址(例如 192.168.105.69:8081
),让真机与PC同源即可
克隆下来
npm install
react-native link
然后再编译