我正在开发一个反应原生的IOS应用程序,这个应用程序有时会引发一条警告消息"setState(...)只能更新一个已挂载或正在安装的组件....",我明白了这个消息是什么,它是由AJAX长时间调用引起的.
考虑到这个警告不会给APP造成任何严重问题,我不想花太多时间来修复它,此警告消息将在从开发服务器加载时出现在模拟器和手机中.我的问题是警告消息是否仍然会以产品模式提示(从预先捆绑的文件中加载)?如果它仍然显示,如何从配置中禁用此警告消息?
谢谢.
仅禁用 setState 消息
“setState(...) 只能更新已安装或正在安装的组件。” 从 4 个可能的文件中抛出:
- node_modules/react/dist/react-with-addons.js
- node_modules/react/dist/react.js
- node_modules/react/lib/ReactNoopUpdateQueue.js
- node_modules/react/lib/ReactUpdateQueue.js
我不知道哪一个触发了您的文件,但您可以修改这些文件以不显示警告。如果您关心的是您的用户,也就是说在发布模式下,那么 dev 标志为 false,这意味着不会看到任何警告消息。
禁用所有警告
要禁用警告,只需在 AppDelegate.m 中更改此设置:
jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle?platform=ios&dev=true"];
Run Code Online (Sandbox Code Playgroud)
到
jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle?platform=ios&dev=false"];
Run Code Online (Sandbox Code Playgroud)
如果您使用预捆绑文件,则必须在捆绑时将 dev 指定为 false :
react-native bundle --dev false --entry-file index.ios.js --bundle-output ios/main.jsbundle --platform ios
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7694 次 |
| 最近记录: |