使用 AsyncStorage 保存值时遇到麻烦



>hit 我正在使用 axios 在 reactnative 中开发一个表单应用程序,但我需要将一个值从一个 API 传递给另一个, 该值response.data.solicitude_id当我 conol 记录它时,它会打印我需要的值,例如 10 或 39?这是我的代码

const guardar = dispatch => async ({ vName, vSecondName, vLastName, vSecondLastName, vCellphone, vBirthDate, vRFC, vGender, vEmail, vCreationUser }) => {
try {
const id = await AsyncStorage.getItem('id');
const vCreationUser = id;
const response = await ForceApi.post('/ValidationPersonalInfoController.php', { vName, vSecondName, vLastName, vSecondLastName, vCellphone, vBirthDate, vRFC, vGender, vEmail, vCreationUser });
await AsyncStorage.setItem('SolicitudeId', response.data.solicitude_id);
dispatch({ type: 'guardar', payload: response.data.id, });console.log(response.data);
console.log(response.data.solicitude_id);
navigate('SolDatosDomicilio');
} catch (err) {
console.log(err);
dispatch({
type: 'add_error',
payload: 'Error de Conexion'
});
}
};

显示控制台日志的错误显示"java.lang.Double 无法强制转换 ti java.lang.String">

AsyncStorage 只存储字符串数据,我猜你正在尝试将双倍数据保存到异步存储中

await AsyncStorage.setItem('SolicitudeId', response.data.solicitude_id);

您希望将其更改为:

await AsyncStorage.setItem('SolicitudeId', response.data.solicitude_id+"");

希望这有帮助。干杯!

您需要将值response.data.solicitude_id转换为字符串

有 4 个选项可以执行此操作

  • "" + response.data.solicitude_id
  • String(response.data.solicitude_id)
  • response.data.solicitude_id.toString
let id = response.data.solicitude_id;
await AsyncStorage.setItem('SolicitudeId',`${id}`);

最新更新