在React-Admin V4中实施Backbutton

发布于 2025-01-24 05:20:24 字数 640 浏览 2 评论 0原文

在版本4之前,我们可以创建这样的backutton:

import React, { Component } from 'react';
import { connect } from 'react-redux';
import Button from '@material-ui/core/Button';
import ArrowBack from '@material-ui/icons/ArrowBack';
import { goBack } from 'react-router-redux';


class BackButton extends Component {
    handleClick = () => {
        this.props.goBack();
    };

    render() {
        return <Button startIcon={<ArrowBack />} color="primary" onClick={this.handleClick}>Назад</Button>;
    }
}

export default connect(null, {
    goBack,
})(BackButton);

我们如何在React-Admin版本4中创建Backbutton?

Before version 4, we could create BackButton like this:

import React, { Component } from 'react';
import { connect } from 'react-redux';
import Button from '@material-ui/core/Button';
import ArrowBack from '@material-ui/icons/ArrowBack';
import { goBack } from 'react-router-redux';


class BackButton extends Component {
    handleClick = () => {
        this.props.goBack();
    };

    render() {
        return <Button startIcon={<ArrowBack />} color="primary" onClick={this.handleClick}>Назад</Button>;
    }
}

export default connect(null, {
    goBack,
})(BackButton);

How do we create BackButton in react-admin version 4 ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

空气里的味道 2025-01-31 05:20:24

该图书馆很久以前被弃用。
react-router-redux的自然升级是connected-reactect-react-router
react-admin版本4的升级指南被解释了如何远离connected-reactect-reactect-router

基本上,现在您必须使用usenavigate来自react-router的钩子:

“ nofollow noreferrer”> https://marmelab.com/reaeact-admin/upgrade.html#remed-connected-react-router

Plus在您的情况下,您必须首先将组件更改为功能组件。
这样的事情:

import React, { Component } from 'react';
import Button from '@mui/material/Button';
import ArrowBack from '@mui/icons-material/ArrowBack';
import { useNavigate } from 'react-router';


const BackButton = props => {
    const navigate = useNavigate();

    handleClick = () => {
       navigate(-1);
    };

    return (
        <Button 
            startIcon={<ArrowBack />}
            color="primary"
            onClick={handleClick}
        >
            Назад
        </Button>
    );
}

That library was deprecated a long time ago.
The natural upgrade of react-router-redux is connected-react-router.
In react-admin upgrade guide for version 4 is explained how to move away from connected-react-router:

Basically, now you have to use useNavigate hook from react-router:

https://marmelab.com/react-admin/Upgrade.html#removed-connected-react-router

Plus in your case you will have to change your component to a function component first.
Something like this:

import React, { Component } from 'react';
import Button from '@mui/material/Button';
import ArrowBack from '@mui/icons-material/ArrowBack';
import { useNavigate } from 'react-router';


const BackButton = props => {
    const navigate = useNavigate();

    handleClick = () => {
       navigate(-1);
    };

    return (
        <Button 
            startIcon={<ArrowBack />}
            color="primary"
            onClick={handleClick}
        >
            Назад
        </Button>
    );
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文