Wadah dan Komponen dari Kelas yang sama

Saya baru mengenal React dan Redux,

Saya mencoba menggunakan Kelas sebagai Wadah Redux (sehingga status dikelola oleh peredam) dan juga Komponen klasik dengan instance lain (tidak ada tautan ke peredam)

Jadi pada dasarnya seperti ini:

class BaseLogo extends Component {

    constructor(props){
        super(props);
    }

    render(){
        let link = this.props.linkLogo || this.props.link;
        return (
            <Link className="btn btn-primary" to={link}>
                {this.props.logoName}
            </Link>
        );
    }
}

function mapStateToProps(state){
    return {
        linkLogo: state.linkLogo
    };
}

let Logo = connect(mapStateToProps)(BaseLogo);
export {Logo, BaseLogo as Button};

Jadi saya ingin menggunakan Logo sebagai Wadah, dan Tombol sebagai Komponen (tanpa peredam) dengan alat peraga yang ditentukan.

Namun seiring dengan cara Redux mengikatnya, setiap kali saya membuat instance Logo kelas, akan ada peredam.

Apakah ada cara saya dapat mengisolasi connect()() dari kelas itu sendiri?

Terima kasih.


person Quoc-Hao Tran    schedule 21.07.2017    source sumber
comment
Anda telah memilih cara yang sangat membingungkan untuk memberi nama pada modul ini. Mengapa tidak mengubah class Logo menjadi seperti class BaseLogo sehingga Anda tidak perlu bingung menukar nama di akhir dengan export ... as?   -  person Jordan Running    schedule 21.07.2017
comment
Saat ini, pertanyaan Anda tidak jelas. Modul ini akan mengekspor dua kelas: Logo (alias logo1), yang merupakan kelas yang terhubung dengan Redux, dan Button, yang merupakan React.Component biasa tanpa koneksi ke Redux. Jika Anda tidak ingin komponen terhubung dengan Redux, impor Tombol alih-alih Logo.   -  person Jordan Running    schedule 21.07.2017
comment
Ya, saya akan mengedit namanya. Namun masalahnya di sini adalah meskipun saya mengimpor Tombol, status Logo tetap sama (karena masih terhubung ke peredam karena connect)   -  person Quoc-Hao Tran    schedule 21.07.2017
comment
Tidak, tidak. Tombol tidak terhubung ke toko atau reduksi Redux Anda dengan cara apa pun. Hanya Logo yang terhubung Redux. Inilah apa yang tertulis dalam dokumen: Itu tidak mengubah kelas komponen yang diteruskan ke sana; sebaliknya, ia mengembalikan kelas komponen baru yang terhubung untuk Anda gunakan.   -  person Jordan Running    schedule 21.07.2017
comment
terima kasih, ini karena implementasi saya yang buruk, saya menemukan kesalahannya   -  person Quoc-Hao Tran    schedule 21.07.2017


Jawaban (1)


Saya menemukan kesalahan, ini karena implementasi kode yang buruk. Terima kasih semua

person Quoc-Hao Tran    schedule 21.07.2017