React.js 根据角色向用户显示不同页面的最佳技术是什么
React.js what is the best technique to show to the user different pages according to there role
有一两秒钟错误的页面出现在屏幕上,直到请求为我提供用户角色,以便我可以向他显示正确的页面。
我怎样才能从一开始就向他们展示正确的页面
最好的处理角色的方法是 App.js 文件,因为你所有的路线都在那里,然后你可以根据他们 roles.like 这个例子指定哪条路线可用:
// App.js
function App() {
const [addUserManagment, setAddUserManagment] = useState({
render: false,
type: "",
});
useEffect(() => {
const space = localStorage.getItem("space");
if (space === "c" || space === "a") {
setAddUserManagment({
render: true,
type: space,
});
}
}, []);
return (
<div className="App">
<Routes>
<Route path="/">
<Route index element={<Login />} />
<Route path="forget-password" element={<ForgetPassword />} />
<Route path="reset-password/:token" element={<RestPassword />} />
<Route
path="register/:campanyName/:companyId"
element={<InviteRegister />}
/>
</Route>
<Route path="profile" element={<Profile />} />
{addUserManagment.render && (
<Route path="setting" element={<Setting />} />
)}
{addUserManagment.render && (
<Route
path="user-management"
element={
addUserManagment.type === "c" ? <UserList /> : <UserListAdmin />
}
/>
)}
</Route>
</Routes>
)
}
现在,如果用户类型等于 c 或 a,则会呈现 settign 和 user-managment。
有一两秒钟错误的页面出现在屏幕上,直到请求为我提供用户角色,以便我可以向他显示正确的页面。 我怎样才能从一开始就向他们展示正确的页面
最好的处理角色的方法是 App.js 文件,因为你所有的路线都在那里,然后你可以根据他们 roles.like 这个例子指定哪条路线可用:
// App.js
function App() {
const [addUserManagment, setAddUserManagment] = useState({
render: false,
type: "",
});
useEffect(() => {
const space = localStorage.getItem("space");
if (space === "c" || space === "a") {
setAddUserManagment({
render: true,
type: space,
});
}
}, []);
return (
<div className="App">
<Routes>
<Route path="/">
<Route index element={<Login />} />
<Route path="forget-password" element={<ForgetPassword />} />
<Route path="reset-password/:token" element={<RestPassword />} />
<Route
path="register/:campanyName/:companyId"
element={<InviteRegister />}
/>
</Route>
<Route path="profile" element={<Profile />} />
{addUserManagment.render && (
<Route path="setting" element={<Setting />} />
)}
{addUserManagment.render && (
<Route
path="user-management"
element={
addUserManagment.type === "c" ? <UserList /> : <UserListAdmin />
}
/>
)}
</Route>
</Routes>
)
}
现在,如果用户类型等于 c 或 a,则会呈现 settign 和 user-managment。