lou*_*ros 6 reactjs react-router react-router-dom
我定义index.js了Router来自 react router 5 的入口点(不是你不应该在 <Router> 之外使用 <Link>的副本):
ReactDOM.render(
<Provider store={store}>
<Router history={history}>
<App />
</Router>
</Provider>,
document.getElementById('app'),
);
Run Code Online (Sandbox Code Playgroud)
但我仍然有著名的You should not use <Link>outside a<Router> error on my component using Material UI Popover:
const InterventionMarker = ({ marker, history }) => {
const [anchorEl, setAnchorEl] = React.useState(null);
const handleClick = event => setAnchorEl(event.currentTarget);
const handleClose = () => setAnchorEl(null);
const open = Boolean(anchorEl);
return (
<MarkerWithLabel
onClick={handleClick}
...other-props
>
<div>
{marker.label}
<Popover
id={marker.label}
open={open}
anchorEl={anchorEl}
onClose={handleClose}
anchorOrigin={{
vertical: 'top',
horizontal: 'center',
}}
transformOrigin={{
vertical: 'bottom',
horizontal: 'center',
}}
>
{marker.interventions.map(i =>
<Link history={history} component={RouterLink} to={`/interventions/${i.id}`}>
{i.number} - {i.name}
</Link>
)}
</Popover>
</div>
</MarkerWithLabel>
);
};
export default withRouter(React.memo(InterventionMarker));
Run Code Online (Sandbox Code Playgroud)
我试图将historyprop(通过withRouterHOC)传递给Popover组件(想法来自Using react-router with react portals?)。
我试图向Router我的组件添加标签,但我并不喜欢这个选项,即使它似乎有效。
启用RouterLink内部Popover组件的任何其他想法?
| 归档时间: |
|
| 查看次数: |
447 次 |
| 最近记录: |