Неможливо змусити підбирати дату матеріалів для роботи


19

З якихось причин я не можу змусити роботу вибору дат матеріалу . Кожен раз, коли вибирач дати відображається в React, видається така помилка:

RangeError: Рядок форматування містить нерозміщений символ латинського алфавіту n

Я створив stackblitz лише за допомогою датника ( https://stackblitz.com/edit/react-6ma6xd?embed=1&file=index.js ) і навіть там з’являється помилка. Що я роблю неправильно? Я думаю, що я дотримувався всіх інструкцій з посібника з установки.

Посилання на матеріал-ui / pickers: https://material-ui-pickers.dev/


Тим часом я також бачу, що вони оновили свою документацію.
NewVigilante

1
У мене була така ж проблема. Переживши це, я вже можу сказати, що дорога, що попереду, довго використовує цю рамку.
Мосія Табо

Відповіді:


19

У мене була така ж проблема, це було знайдено в питаннях про github:

https://github.com/mui-org/material-ui-pickers/isissue/1440, тому я встановив "@ date-io / date-fns": "^ 1.3.13" і змусив його працювати


Це все, дякую! Вони повинні дійсно оновлювати там документацію або принаймні розміщувати там коментар, поки вона не буде виправлена.
NewVigilante


1

Схоже, що в прикладі вибору матеріалу ui-material використовується такі версії залежності (які відрізняються від ваших):

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

У вашому прикладі ви використовуєте більш нову версію @ date-io із застарілою версією матеріалу-ui-pickers:

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

Ви можете (1) встановити ваші версії так, щоб вони відповідали прикладу, або (2) використовувати останню версію вибору матеріалу-інтерфейсу та виконувати форматування дати за допомогою спеціальної функції замість DateFnsUtils.

Сподіваюсь, це допомагає.


Я думаю, що я використовую останні пакети. Ті, які ви надсилаєте як пропозицію, здаються, є такими, що застаріли, які я б не хотів використовувати у виробництві. Усі пакунки, які я використовував, - це запускати команди в посібнику з установки ( material-ui-pickers.dev/getting-started/installation )
NewVigilante


1

Я спробував відповіді вище, але це не спрацювало, але вони дали мені підказку щодо рішення, вам доведеться зробити повний пониження, якщо попередні відповіді не спрацювали для вас

npm install @material-ui/pickers@3.2.8
npm install @date-io/date-fns@1.3.13
npm install date-fns@2.8.1

1

Просто використовуйте momentJS: npm i @ date-io / moment @ 1.x момент

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

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.