【发布时间】:2023-04-01 14:31:01
【问题描述】:
我试图在两个功能组件之间传递 isAuthenticated 值(SignInOutlookAccount & SignInOutlookButton)
但我无法得到它的价值。
我怎样才能将isAuthenticated 值从SignInOutlookAccount.jsx 带到SignInOutlookButton.jsx?
SignInOutlookAccount.jsx
export const getUserProfile = async (props) => {
console.log("im inside getUserProfile");
try {
var accessToken = await userAgentApplication.acquireTokenSilent({
scopes: config.scopes
});
console.log("im inside tryyyyyy");
if (accessToken) {
var user = await getUserDetails(accessToken);
props = {
isAuthenticated: true,
user: {
displayName: user.displayName,
email: user.mail || user.userPrincipalName,
accessToken: user.accessToken
},
error: null
};
}
} catch (err) {
var error = {};
if (typeof err === "string") {
var errParts = err.split("|");
error =
errParts.length > 1
? { message: errParts[1], debug: errParts[0] }
: { message: err };
} else {
error = {
message: err.message,
debug: JSON.stringify(err)
};
}
props = {
isAuthenticated: false,
user: {},
error: error
};
}
SignInOutlookButton.jsx
export const SignInOutlookButton = ({props}) => {
return <Button text={isAuthenticated ? 'Sign In' : 'Sign Out'} startIcon={<Mail />} onClick={()=> login(props)} />;
};
CustomComponents.jsx
export const CustomComponents = props => {
return (<SignInOutlookButton/>);
};
【问题讨论】:
标签: javascript reactjs