Material-UIの日付ピッカーが機能しない


19

何らかの理由で、material-uiの日付ピッカーが機能しません。日付ピッカーがReactでレンダリングされるたびに、次のエラーがスローされます。

RangeError:書式文字列にエスケープされていないラテンアルファベット文字が含まれています n

日付ピッカー(https://stackblitz.com/edit/react-6ma6xd?embed=1&file=index.js)だけでStackblitzを作成しましたが、そこにもエラーが表示されます。何が悪いのですか?私はインストールガイドのすべての指示に従っていたと思います。

material-ui / pickersへのリンク:https : //material-ui-pickers.dev/


それまでの間、ドキュメントを更新したことも確認しています。
NewVigilante

1
私も同じ問題を抱えていました。これを経験した後、このフレームワークを使用して、先の道が長いことはすでにわかります。
Mosia Thabo

回答:


19

私は同じ問題を抱えていました、これをgithubの問題で見つけました:

https://github.com/mui-org/material-ui-pickers/issues/1440 なので、「@ date-io / date-fns」:「^ 1.3.13」をインストールして機能させました


それだけです、ありがとう!彼らは本当にドキュメントを更新するか、それが修正されるまで少なくともそこにコメントを入れるべきです。
NewVigilante


1

material-ui-pickersの例は、次の依存関係バージョン(ユーザーのものとは異なる)を使用しているように見えます。

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

あなたの例では、新しいバージョンの@ date-ioと非推奨バージョンのmaterial-ui-pickersを使用しています。

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

(1)サンプルに一致するようにバージョンを設定するか、(2)最新のmaterial-ui-pickersバージョンを使用して、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 moment

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

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.