我不能粘贴与该问题相关的600余行代码,但实质上是平移响应器正在控制一个Animated View,并按一定的时间间隔将其重置以创建一种无限滚动。
该代码可以完美编译并运行,并且可以按预期运行。但是有时候,上面的错误是用小的手势抛出的(几乎就像敲击一样),而我认为子组件是与翻译转换有关的不匹配视图。
我知道这是一个复杂的问题,很难确定。我正在寻找有关在什么情况下会导致上述错误的讨论,以便更好地跟踪我的问题。谢谢!
答案 0 :(得分:1)
我最终解决了这个问题。导致此问题的原因是,panResponder上的moveY变量何时超出代码中其他位置设置的阈值。这导致将translateY设置为NaN,从而引发了上述错误。我认为上述错误是由于道具不匹配引起的。
答案 1 :(得分:0)
当我错误地将闭包作为第二个参数传递给AsyncStorage而不是我需要存储的字符串文字时,出现了此错误
AsyncStorage.setItem('loggedIn', (err, result) => {
console.log('I am logged In');
});
正确的做法是
AsyncStorage.setItem('loggedIn', 'my-jwt-token', (err, result) => {
console.log('I am logged In');
});
答案 2 :(得分:0)
我面临类似的问题,并通过将宽松值从弹性更改为其他方法来解决。是的很奇怪,但是解决了这个问题,以防万一它可能对某人有所帮助。
Animated.timing(height, {
toValue: 500,
duration: 1500,
easing: Easing.elastic,
}).start();
要
Animated.timing(height, {
toValue: 500,
duration: 1500,
easing: Easing.linear,
}).start();
答案 3 :(得分:0)
我的问题是我自己使用了Easing.inOut
却没有在内部传递另一个宽松函数,例如Easing.inOut(Easing.elastic(1))
。我以为Easing.inOut本身就是一种轻松,但实际上只是使传递给它的所有缓动函数对称。 Easing.in
和Easing.out
类似地使传递给它们的内容都向前或向后运行。参见https://reactnative.dev/docs/easing