首页 > 解决方案 > 未捕获的 RangeError:`options.awareOfUnicodeTokens` 必须设置为 `true` 才能在日期选择器中使用 `YYYY`

问题描述

我在我的演示反应项目中使用日期打包器。 https://www.npmjs.com/package/react-datepicker 一切正常,但我有一个问题whenever I remove one text from date value it gives me this error

Uncaught RangeError:options.awareOfUnicodeTokens必须设置 true为使用YYYY令牌;见:https ://git.io/fxCyr 在 throwProtectedError (nk7475yjwl.codesandbox.io/node_modules/react-datepicker/lib/index.js:2211) 在解析 (nk7475yjwl.codesandbox.io/node_modules/react-datepicker/lib/index.js:5733) 在 parseDate (nk7475yjwl .codesandbox.io/node_modules/react-datepicker/lib/index.js:5962) 在 HTMLUnknownElement.callCallback 的 DatePicker._this.handleChange (nk7475yjwl.codesandbox.io/node_modules/react-datepicker/lib/index.js:8536) (react-dom.development.js:145) 在 Object.invokeGuardedCallbackDev (react-dom.development.js:195) 在 invokeGuardedCallback (react-dom.development.js:248) 在 invokeGuardedCallbackAndCatchFirstError (react-dom.development.js: 262) 在 executeDispatch (react-dom.development.js:593) 在 executeDispatchesInOrder (react-dom.development.js:615) 在executeDispatchesAndRelease (react-dom.development.js:713) 在executeDispatchesAndReleaseTopLevel (react-dom.development.js:724) 在 Array.forEach () 在forEachAccumulated (react-dom.development.js:692) 在runEventsInBatch ( react-dom.development.js:855) 在 runExtractedEventsInBatch (react-dom.development.js:864) 在 handleTopLevel (react-dom.development.js:4857) 在 batchedUpdates$1 (react-dom.development.js:17498)在 batchedUpdates (react-dom.development.js:2189) 在 dispatchEvent (react-dom.development.js:4936) 在 interactiveUpdates$1 (react-dom.development.js:17553) 在 interactiveUpdates (react-dom.development.js :2208) 在 dispatchInteractiveEvent (react-dom.development.js:4913)development.js:724) at Array.forEach () at forEachAccumulated (react-dom.development.js:692) at runEventsInBatch (react-dom.development.js:855) at runExtractedEventsInBatch (react-dom.development.js:864 ) 在 dispatchEvent (react-dom.development.js:2189) 的 batchedUpdates$1 (react-dom.development.js:17498) 的 handleTopLevel (react-dom.development.js:4857) js:4936) 在 interactiveUpdates$1 (react-dom.development.js:17553) 在 interactiveUpdates (react-dom.development.js:2208) 在 dispatchInteractiveEvent (react-dom.development.js:4913)development.js:724) at Array.forEach () at forEachAccumulated (react-dom.development.js:692) at runEventsInBatch (react-dom.development.js:855) at runExtractedEventsInBatch (react-dom.development.js:864 ) 在 dispatchEvent (react-dom.development.js:2189) 的 batchedUpdates$1 (react-dom.development.js:17498) 的 handleTopLevel (react-dom.development.js:4857) js:4936) 在 interactiveUpdates$1 (react-dom.development.js:17553) 在 interactiveUpdates (react-dom.development.js:2208) 在 dispatchInteractiveEvent (react-dom.development.js:4913)864) 在 handleTopLevel (react-dom.development.js:4857) 在 batchedUpdates$1 (react-dom.development.js:17498) 在 batchedUpdates (react-dom.development.js:2189) 在 dispatchEvent (react-dom.development .js:4936) 在interactiveUpdates$1 (react-dom.development.js:17553) 在interactiveUpdates (react-dom.development.js:2208) 在dispatchInteractiveEvent (react-dom.development.js:4913)864) 在 handleTopLevel (react-dom.development.js:4857) 在 batchedUpdates$1 (react-dom.development.js:17498) 在 batchedUpdates (react-dom.development.js:2189) 在 dispatchEvent (react-dom.development .js:4936) 在interactiveUpdates$1 (react-dom.development.js:17553) 在interactiveUpdates (react-dom.development.js:2208) 在dispatchInteractiveEvent (react-dom.development.js:4913)

产生错误的步骤

  1. 运行应用程序。它显示09-Dec-1998
  2. 尝试8从字段或从1998. 它显示上述错误

这是我的代码

https://codesandbox.io/s/nk7475yjwl

git 链接 https://github.com/Hacker0x01/react-datepicker

标签: javascriptreactjsreact-nativedatepicker

解决方案


正如这里所说表示本地周编号年份(44、01、00、17)的 YY 和 YYYY 经常与表示日历年的 yy 和 yyyy 混淆。

尝试用 dd-MMM-yyyy 替换dd - MMM-YYYY


推荐阅读