Tidak dapat membuat datepicker material-ui berfungsi

19

Untuk beberapa alasan, saya tidak bisa membuat datepicker material-ui bekerja. Setiap kali datepicker di-render dalam React, kesalahan berikut dilemparkan:

RangeError: Format string berisi karakter alfabet latin yang tidak terhapus n

Saya telah membuat stackblitz hanya dengan datepicker ( https://stackblitz.com/edit/react-6ma6xd?embed=1&file=index.js ) dan bahkan di sana kesalahannya muncul. Apa yang saya lakukan salah? Saya pikir saya mengikuti semua instruksi dari panduan instalasi.

Tautan ke materi-ui / pemetik: https://material-ui-pickers.dev/

NewVigilante
sumber
Sementara itu, saya juga melihat mereka memperbarui dokumentasi mereka.
NewVigilante
1
Saya memiliki masalah yang sama. Setelah mengalami ini, saya sudah bisa mengatakan bahwa jalan yang ada di depan sudah lama menggunakan kerangka ini.
Mosia Thabo

Jawaban:

19

Saya memiliki masalah yang sama, menemukan ini di masalah github:

https://github.com/mui-org/material-ui-pickers/issues/1440 jadi saya menginstal "@ date-io / date-fns": "^ 1.3.13" dan membuatnya berfungsi

Michaud
sumber
Itu dia, terima kasih! Mereka harus benar-benar memperbarui dokumentasi di sana atau setidaknya memberi komentar di sana sampai diperbaiki.
NewVigilante
9

Turunkan paket ke @date-io@^1.3.13

npm i @date-io/[email protected]

sultan aslam
sumber
1

Sepertinya contoh material-ui-pickers menggunakan versi dependensi berikut (yang berbeda dari milik Anda):

"@date-io/date-fns": "1.0.1",
"material-ui-pickers": "2.1.1",

Dalam contoh Anda, Anda menggunakan versi @ date-io yang lebih baru dengan versi yang lebih tua dari pemilih materi-ui:

"@date-io/date-fns": "2.0.1",
"@material-ui/pickers": "3.2.8",

Anda dapat (1) mengatur versi Anda agar sesuai dengan contoh atau (2) menggunakan versi pemetik material-ui terbaru dan melakukan pemformatan tanggal menggunakan fungsi kustom alih-alih DateFnsUtils.

Semoga ini membantu.

Jeff Tsui
sumber
Saya pikir saya menggunakan paket terbaru. Yang Anda kirim sebagai saran tampaknya adalah orang-orang yang sudah ketinggalan zaman, yang saya lebih suka tidak digunakan dalam produksi. Semua paket yang saya gunakan berasal dari menjalankan perintah dalam panduan instalasi ( material-ui-pickers.dev/getting-started/installation )
NewVigilante
1

Saya mencoba jawaban di atas tidak berhasil tetapi mereka memberi saya petunjuk untuk solusinya, Anda harus melakukan downgrade penuh jika jawaban sebelumnya tidak berhasil untuk Anda

npm install @material-ui/pickers@3.2.8
npm install @date-io/date-fns@1.3.13
npm install date-fns@2.8.1
Pedro JR
sumber
1

Cukup gunakan momentJS: npm i @ date-io / moment @ 1.x moment

import MomentUtils from '@date-io/moment';

function App() {
  return (
    <MuiPickersUtilsProvider utils={MomentUtils}>
Gleb Dolzikov
sumber