Redirect React管理员重定向和道具
我使用React Admin userRedirect钩子,重定向到一个“页面”,这是一个组件。是否有方法将数据传递到我重定向到的页面/组件? 我试着这样做,并观察了以下几点 我要重定向到的页面:Redirect React管理员重定向和道具,redirect,react-admin,Redirect,React Admin,我使用React Admin userRedirect钩子,重定向到一个“页面”,这是一个组件。是否有方法将数据传递到我重定向到的页面/组件? 我试着这样做,并观察了以下几点 我要重定向到的页面: const PublicPage = (props) => { console.log('data: ' + props.data); return( <Card> <Title title="Public Page&
const PublicPage = (props) => {
console.log('data: ' + props.data);
return(
<Card>
<Title title="Public Page" />
<CardContent>
This is a public page. + {props.data}
</CardContent>
</Card>
)
}
constpublicpage=(道具)=>{
console.log('data:'+props.data);
返回(
这是一个公共页面。+{props.data}
)
}
如果执行重定向('/public',{data:'this some data'}),控制台日志将显示'data:undefined',而不显示任何数据
这对RA来说是可行的吗?谢谢你的建议
Christian您可以重定向到具有查询字符串(例如,/public?foo=bar')的位置,并从PublicPage组件读取该查询字符串 或者,您可以使用位置状态—react router提供的某种数据容器。这不受
useRedirect
的支持,但手工操作并不困难:
import { useHistory } from 'react-router-dom';
const useRedirectToPageWithState = () => {
const history = useHistory();
return useCallback((pathname, state) => {
history.push({
pathname,
state
})
}, [history]);
}
然后,在PublicPage组件中,可以使用以下命令读取位置状态:
constpublicpage=()=>{
const{state:data}=useLocation();
//现在,数据包含您传递到页面的内容
您可以重定向到具有查询字符串的位置(例如,“/public?foo=bar”),并从PublicPage组件读取该查询字符串
或者,您可以使用位置状态—react router提供的某种数据容器。useRedirect
不支持此功能,但手工操作并不困难:
import { useHistory } from 'react-router-dom';
const useRedirectToPageWithState = () => {
const history = useHistory();
return useCallback((pathname, state) => {
history.push({
pathname,
state
})
}, [history]);
}
然后,在PublicPage组件中,可以使用以下命令读取位置状态:
constpublicpage=()=>{
const{state:data}=useLocation();
//现在,数据包含您传递到页面的内容
谢谢François。第二种方法对我来说似乎更安全,因为数据不是通过URL传输的。可能是添加到react admin的一个不错的功能?ChristianThanks François。第二种方法对我来说似乎更安全,因为数据不是通过URL传输的。可能是添加到react admin?Christian的一个不错的功能