【发布时间】:2020-11-05 16:34:52
【问题描述】:
我正在开发 React 应用程序, 通常用户登录并提交表单和表单的地方有多个字段,即选择即下拉字段,
每当用户登录系统时,
login = async (data = {}) => {
try {
// const { token, user } = await login(data);
const { access_token, expires_at } = await login(data);
const token = access_token;
localStorage.setItem("token", token);
const authToken = localStorage.getItem("token");
const config = await getConfig(authToken);
localStorage.setItem("config", JSON.stringify(config));
initAxios();
this.setState(
{
token,
},
() => {
notify({
type: "success",
text: "Successfully logged in!",
});
}
);
} catch (error) {
if (error.response.status === 401) {
throw error;
}
notify({
type: "error",
text: getErrorMessage(error),
});
}
};
我想在我可以获得这个对象的多表单组件中使用它,
从本地存储中检索数据的最佳解决方案是什么?
const configData = JSON.parse(localStorage.getItem("config"));
export const category = configData.category;
export const gender = configData.gender;
......
&从组件中导入并使用,
是否可以在 useEffect() hooks 的帮助下直接在表单组件中使用它?
在此处添加代码片段@Arnab
if (localStorage.getItem("apiData")) {
accessoriesConfig = JSON.parse(localStorage.getItem("apiData")); return accessoriesConfig; }
else{
return fetchOptions().then(response => localStorage.setItem("apiData", JSON.stringify(response)));
//this is returns me always promise as pending status ,that breaks my functionality
}
//API Call with axios
export async function fetchOptions() {
return getAxios("get","/api/config/") .then(response => response.data);
} ```
【问题讨论】:
-
我没听懂你的问题。
标签: javascript reactjs