如何解决过多的待处理回调:501 React Navigation
我在我的聊天应用程序中使用 StackNavigator,当我使用动态标题标题时,它会抛出过多挂起回调的错误:501。一些挂起的回调可能因从未从本机代码中调用而泄漏:{'1434 : {'module': ReanimatedModule;','method': 'getValue'}; 经过一些调试后,我发现 headerTitle 抛出错误。 我的 App.js 代码如下:
function ChatStack() {
return (
<Stack.Navigator>
<Stack.Screen name="ChatStack" component={ChatScreen}
options={({navigation,route}) => (
{ headerTitle: () => {
return (
<View>
<Text style={{fontSize: 18}}>{route.params.username}</Text>
{!!route.params.onlineStatus && (
<Text style={{fontSize: 15}}> {route.params.onlineStatus}
</Text>)}
</View>
);
},headerLeft: () => (
<TouchableOpacity style={{alignItems: 'center',flexDirection: 'row'}}
onPress={() => { navigation.goBack(); }}>
<Icon name="ios-arrow-back" size={18} color="#242424" />
</TouchableOpacity>
),})
} />
</Stack.Navigator>
);
}
设置参数的代码:
useEffect(() => {
const unsubscribe = database() .ref(users/${userId})
.on('value',(snapshot) => {
if (snapshot && snapshot.exists()) {
const val = snapshot.val();
if (typeof val.online === 'string') {
props.navigation.setParams({ onlineStatus: val.online,});
} else {
const lastSeen = new Date(val.online);
props.navigation.setParams({ onlineStatus: moment(lastSeen).calendar(),});
}
}
});
return () => unsubscribe(); },[props.navigation,props.route,userId]);
经过大量调试和研究后,我发现设置 onlineStatus 参数的实时数据库侦听器导致过多回调错误。 任何人都可以解决此问题或解决此错误的方法?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。