Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

使用RN的WebView报错(iOS)看这里 #50

Closed
LiuMengzhou opened this issue Nov 23, 2018 · 18 comments
Closed

使用RN的WebView报错(iOS)看这里 #50

LiuMengzhou opened this issue Nov 23, 2018 · 18 comments
Labels
Bug Native端app存在bug 需要修复 Native-iOS 使用iPhone遇到问题 UI控件 UI组件出现样式、效果、逻辑等问题

Comments

@LiuMengzhou
Copy link
Contributor

原因

iOS native 端修改了WebView,增加了新的属性onScrollChange

解决办法

下载fixed中的WebView.ios.js,替换本地项目路径下的node_modules/react-native/Libraries/Components/WebView/WebView.ios.js

@LiuMengzhou LiuMengzhou added Bug Native端app存在bug 需要修复 Native-iOS 使用iPhone遇到问题 labels Nov 23, 2018
@edwardair
Copy link

fixed删除了?那是不需要手动替换WebView.ios.js文件了么?

@laohuang88
Copy link
Contributor

更新sdk就可以了,不需要手动替换

@halloaw
Copy link

halloaw commented Dec 5, 2018

测试了一下最新的 sdk 还是不行。报错:Warning: Failed prop type: WebView: prop type onScrollChange is invalid; it must be a function, usually from the prop-types package, but received undefined.
看了一个 bin/config/transformer.js,发现是 r=require('prop-types') r 为空对象导致的。
尝试删除 propTypes 相关校验,以及使用 WebView 时添加 onScrollChange 属性后,遇到下一个错误,TypeError: Cannot add property nativeConfig, object is not extensible。该错误为修改 this.props 导致的。props 应该是被 react 冻结为不可修改对象。

babelHelpers.createClass(t, [
  {
    key: 'render',
    value: function() {
      var e = this;
      if (this.props.onScrollChange) {
        var r = this.props.nativeConfig || {},
          o = r.props || {};
        (o.onScrollChange = function(t) {
          e.props.onScrollChange(t);
        }),
          (r.props = o),
          (this.props.nativeConfig = r);
      }
      return babelHelpers
        .get(
          t.prototype.__proto__ || Object.getPrototypeOf(t.prototype),
          'render',
          this
        )
        .call(this);
    },
  },
])

@laohuang88 @LiuMengzhou

@LiuMengzhou
Copy link
Contributor Author

@halloaw 看看你怎么用的WebView,贴出关键代码即可

@halloaw
Copy link

halloaw commented Dec 6, 2018

直接用 com.xiaomi.demo 测试,进入 WebViewBridageDemo 页面就会报错。

@LiuMengzhou LiuMengzhou added the UI控件 UI组件出现样式、效果、逻辑等问题 label Dec 6, 2018
@LiuMengzhou
Copy link
Contributor Author

@halloaw 我刚才试过了,没有问题可以使用。
image

@halloaw
Copy link

halloaw commented Dec 6, 2018

真机实在不行,又测试了一下。包括 5s,7。系统为 iOS 12。

@LiuMengzhou
Copy link
Contributor Author

@halloaw 十分抱歉,我之前是在我们自己的workplace下测试的。
我用这个仓库的环境测试了一下,报错和你一样。
正在紧急修复中。请耐心等待。

@weeksun23
Copy link

请问现在这个问题修复了吗?我用最新的SDK,IOS下Webview组件还是报这个错。

@zhuxinleibandou
Copy link

这个问题解决了吗? 今天遇到了这个问题 - - webview不能使用 提示 onScrollChange啥的

@hc520messi
Copy link

我用的10005的sdk ,还是报这个错误

@hc520messi
Copy link

hc520messi commented May 30, 2019 via email

@LiuMengzhou
Copy link
Contributor Author

@zhuxinleibandou @hc520messi
你们是第一次使用webView吗?还是说之前没问题,现在有问题?

image
你们仔细检查一下

  1. /miot-plugin-sdk/bin/fixbug 文件夹下是否有WebView.ios这个文件?
  2. npm start 进入插件时,终端是否有这两条log
warning: the transform cache was reset.
transform[stdout]: FIXBUG node_modules/react-native/Libraries/Components/WebView/WebView.ios.js

我这边用此仓库测试,在SDK_10005SDK_10020分支下,进入 demo WebView 页面没问题。
com.xiaomi.demo->「第三方库能力」-「webview和react-native双向通信」

@hc520messi
Copy link

hc520messi commented May 30, 2019 via email

@hc520messi
Copy link

hc520messi commented May 30, 2019 via email

@zanetti4
Copy link
Contributor

zanetti4 commented Jun 4, 2019

  1. /miot-plugin-sdk/bin/fixbug 文件夹下是否有WebView.ios这个文件?
    2.npm start 进入插件时,终端是否有这两条log
    warning: the transform cache was reset.
    transform[stdout]: FIXBUG node_modules/react-native/Libraries/Components/WebView/WebView.ios.js

之前说的这两条是否都已经满足?上面有截图的

@hc520messi
Copy link

hc520messi commented Jun 4, 2019 via email

@hc520messi
Copy link

hc520messi commented Jun 17, 2019 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Native端app存在bug 需要修复 Native-iOS 使用iPhone遇到问题 UI控件 UI组件出现样式、效果、逻辑等问题
Projects
None yet
Development

No branches or pull requests

9 participants