3 回答

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超3個(gè)贊
對(duì)于這種需要狀態(tài)持續(xù)很長(zhǎng)時(shí)間而不是刷新的情況,我建議使用LocalStorage它,因?yàn)樗梢栽跒g覽器中持續(xù)存在而沒(méi)有問(wèn)題,以下是您可以使用它的方法:
export class Layout extends Component {
//definimos las variables necesarias
state = { isLogged: false, usuarioLogado: any };
//funcion donde establecemos los valores de las variables
DoLogin = (logged, usuario) => {
localStorage.setItem('isLogged', true);
this.setState({ isLogged: localStorage.getItem('isLogged'), usuarioLogado: usuario});
};
render() {
const { changeLanguage, children, headerTitle, labelData, textos, valor } = this.props;
const { isLogged, usuarioLogado } = tihs.state;
if (isLogged) {
return <div>
<NavMenu headerTitle={headerTitle} textos={textos} valor={valor} changeLanguage={changeLanguage} usuario={usuarioLogado} labelData={labelData} />
{children}
</div>
}
else return <SignIn callbackFromParent={this.DoLogin} labelData={labelData}/>;
}
}
此外,如果您愿意,可以LocalStorage在 DevTools 的Application選項(xiàng)卡中LocalStorage(Chrome)下檢查您的收藏。此變量可用于所有文件,使用與以前相同的調(diào)用。

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超8個(gè)贊
您必須將身份驗(yàn)證數(shù)據(jù)存儲(chǔ)在瀏覽器存儲(chǔ)或 cookie 中。
如果您在用戶(hù)身份驗(yàn)證后收到某種令牌(在 JWT 的情況下),您可以將其存儲(chǔ)在瀏覽器中localStorage
(在選項(xiàng)卡之間保留)或sessionStorage
(在當(dāng)前選項(xiàng)卡中保留)。如果您想提高安全性,您應(yīng)該在一段時(shí)間不活動(dòng)后使敏感信息無(wú)效或刪除。好的做法是在短時(shí)間內(nèi)使令牌失效(Web 服務(wù)在當(dāng)前令牌過(guò)期之前向您發(fā)送新令牌,但在它過(guò)期后,用戶(hù)必須再次登錄)。這種方式可以防止竊取令牌,例如,當(dāng)用戶(hù)忘記注銷(xiāo)并離開(kāi)并打開(kāi)瀏覽器時(shí)。

TA貢獻(xiàn)2041條經(jīng)驗(yàn) 獲得超4個(gè)贊
您可以將其存儲(chǔ)cookie
并讀取cookie
并在 init 上設(shè)置值
或者您可以將其存儲(chǔ)在其中localStorage
并從中讀取
或者您也可以將其存儲(chǔ)在其中indexedDB
并從中讀取。
localStorage
可能是最簡(jiǎn)單的
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/cookies
https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage
https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API
實(shí)際的實(shí)現(xiàn)將在SignIn
組件中,它檢查和設(shè)置值。
添加回答
舉報(bào)