Palet UI Material tidak diperbarui

Saya baru mengenal React dan Material UI, saya mencoba menambahkan beberapa gaya khusus ke tombol MUI dengan menggunakan createMuiTheme.

Saya telah mengikuti dokumen dan cukup banyak menyalin contoh tetapi tidak berpengaruh dan tidak ada kesalahan yang terjadi di konsol.

Saya sudah lama membenturkan kepala pada hal ini dan saya tidak dapat melihat apa masalahnya, apa yang saya lewatkan?

import React from 'react';
import { createMuiTheme } from '@material-ui/core/styles';
import { ThemeProvider } from '@material-ui/styles';
import Button from '@material-ui/core/Button';

const mytheme = createMuiTheme({
    palette: {
        primary: { main: '#1565C0'},
        secondary: { main: '#11cb5f' }, 
    },
});

export const PrimaryButton = (props) => {
    return (
        <ThemeProvider theme={mytheme}>
            <a href={props.buttonLink}>
                <Button
                    style={{ ...props.styles}}
                    onClick={props.handleClick}
                    variant='contained' color='primary' size='large'
                >
                    {props.buttonText}
                </Button>
            </a>
        </ThemeProvider>
    );
};

export const SecondaryButton = (props) => {
    return (
        <ThemeProvider theme={mytheme}>
            <Button
                style={{...props.styles }}
                value={props.value || ''}
                onClick={props.handleClick}
                variant='outlined' color='secondary' size='large'
            >
                {props.buttonText}
            </Button>
        </ThemeProvider>
    )
}

person Marts2390    schedule 17.12.2019    source sumber
comment
Ini berfungsi dengan baik, saya mencobanya codesandbox.io/s/flamboyant-wu-b8kqg . Saya mengubah warna primer dan berhasil   -  person kooskoos    schedule 17.12.2019
comment
Hei, terima kasih sudah menyiapkannya. Saya bisa melihatnya bekerja di sana. Masalahnya adalah gaya default masih diterapkan dan diterapkan setelah gaya khusus saya, jadi saya sudah selesai menulisnya, dan saya tidak yakin mengapa hal itu terjadi..   -  person Marts2390    schedule 17.12.2019
comment
Apakah Anda memiliki peringatan di konsol tentang beberapa kejadian @material-ui/styles?   -  person Ryan Cogswell    schedule 17.12.2019
comment
Tidak ada peringatan konsol, jawaban di bawah ini telah memperbaikinya, saya perlu membungkus seluruh Aplikasi di ThemeProvider dan menatanya secara global, bukan per komponen.   -  person Marts2390    schedule 17.12.2019


Jawaban (1)


Ini bekerja. Coba ubah ini:

variant='outlined'

by

variant='contained'
person Gaspar Teixeira    schedule 17.12.2019
comment
Prop itu ada di PrimaryButton. Saya baru saja memeriksa dan gayanya disediakan, namun sedang ditulis ulang tetapi gaya MUI. - person Marts2390; 17.12.2019
comment
Jadi saya sebenarnya tidak mengikuti apa yang Anda butuhkan. Apakah Anda ingin mengubah nilai di seluruh aplikasi? Atau hanya di komponennya saja? - person Gaspar Teixeira; 17.12.2019
comment
Jadi ketika saya memeriksa alat pengembang, saya dapat melihat bahwa gaya saya diterapkan ke ›MuiButton-containedPrimary. Betapapun tinggi hierarkinya, pengaturan default MUI diterapkan dan mengesampingkan gaya saya. Saya kira saya perlu menerapkannya pada seluruh aplikasi untuk memperbaikinya? - person Marts2390; 17.12.2019
comment
Ya. Lihat kotak dan kode ini dan beri tahu saya jika ini membantu Anda. codesandbox.io/s/agitated-galois-lcryu - person Gaspar Teixeira; 17.12.2019
comment
Terima kasih kembali. Jangan lupa untuk memilih jawaban Anda... jika tidak, orang akan mencoba menjawab Anda. - person Gaspar Teixeira; 17.12.2019