错误:HostFunction 中的异常:来自 JS 的错误调用:字段大小不同。在动画视图中

Stu*_*ugh 10 javascript react-native

据我了解,此错误可能发生在许多不同的用例中。这是这个用例中发生的事情

  • 动画视图由 a 控制,它PanResponder以特定间隔重置以创建无限滚动效果。
  • 编译和运行完美,并按预期运行。
  • 小手势(几乎像轻敲)即。像素移动大约 +- 4dx/ 4 dy 代码崩溃并出现标题错误。

错误是在 的子视图中引发的,并且PanResponsder由于translate: [{transform}]我相信而导致的不匹配。

除了较小的手势外,为什么代码运行良好?导致错误的原因是什么?

Stu*_*ugh 6

我最终解决了这个问题。在这种情况下,它特定于 a PanResponder,但我相信这也可能发生在其他情况下,错误跟踪应该是类似的。上的moveY变量PanResponder超出了在别处设置的阈值。这导致translateY被设置为NaN,从而引发了上述错误。这会导致道具不匹配。

  1. 如果其他人遇到此问题,我的建议是确定出现不匹配的特定组件。(在这种情况下PanResponder
  2. 隔离道具(设置默认值/虚拟值)并确保正确解析每个道具(尤其是在Animated transform: translatex/ 中translateY
  3. 跟踪负责的道具并调整特定于该道具的逻辑以避免传递NaNundefined


Ada*_*ass 5

当我错误地将闭包作为第二个参数传递给 AsyncStorage 而不是我需要存储的字符串文字时,我收到了这个错误

AsyncStorage.setItem('loggedIn', (err, result) => {
      console.log('I am logged In');
});
Run Code Online (Sandbox Code Playgroud)

正确的做法是

AsyncStorage.setItem('loggedIn', 'my-jwt-token', (err, result) => {
      console.log('I am logged In');
});
Run Code Online (Sandbox Code Playgroud)