Javascript 如何解决react native中的内存泄漏?
我有一个将寄存器数据发送到端点的函数 所以我在用户按下注册按钮时进行加载 但是这个加载不再出现了 我得到了一个警告 无法对未安装的组件执行React状态更新。这是 无操作,但表示应用程序内存泄漏。要解决, 取消useEffect清理中的所有订阅和异步任务 功能 我尝试了两种不同的方式来设置“加载” 1) 在函数的第一行设置状态加载,然后调用APIJavascript 如何解决react native中的内存泄漏?,javascript,reactjs,react-native,axios,fetch,Javascript,Reactjs,React Native,Axios,Fetch,我有一个将寄存器数据发送到端点的函数 所以我在用户按下注册按钮时进行加载 但是这个加载不再出现了 我得到了一个警告 无法对未安装的组件执行React状态更新。这是 无操作,但表示应用程序内存泄漏。要解决, 取消useEffect清理中的所有订阅和异步任务 功能 我尝试了两种不同的方式来设置“加载” 1) 在函数的第一行设置状态加载,然后调用API this.setState({loading:true}); API.post(....); 2) 设置state加载时,使API调用int回调函数
this.setState({loading:true});
API.post(....);
2) 设置state加载时,使API调用int回调函数,如下面的代码段所示
但没有人工作:\
但遗憾的是,这并不奏效
signUp = data => {
this.setState({loading: true}, () => {
API.post('/register', data)
.then(async response => {
let {
data: {
data: {
response: {token},
},
},
} = response;
console.log(token);
this.props.dispatch(isLoginFunc(true));
await saveToken('id_token', token);
this.setState({loading: false}, () =>
this.props.navigation.navigate('TabHome'),
);
})
.catch(this.setState({loading: false}));
});
};
调用注册()
{
这个。注册(价值观);
actions.resetForm();
}}>
....
这是否回答了您的问题@丽塔:不!假设您使用的是类,我不会在这个屏幕中使用componentDidMount()。你把你的数据
函数绑定到你的类了吗?@NickRameau对不起,我不能很好地理解你,你能解释更多吗?我很高兴你能理解。
<Formik
validationSchema={formSchema}
initialValues={initialValues}
onSubmit={(values, actions) => {
this.signUp(values);
actions.resetForm();
}}>
....
</Formik>