开发者问题收集

如何将 Vanilla JS 转换为 NextJS

2022-09-04
1202

我是 React 和 NextJS 的新手,我有一个小项目,使用 Hotel Datepicker Master 和 Fecha 日期格式和解析,它已安装在我的项目中。我正在尝试将我的项目转换为 React/NextJS,但问题是我不知道如何将我的 Vanilla JS 代码转换为 NextJS。

这是我的 Vanilla JS 代码:

(function() {
let today = new Date();
let tomorrow = new Date();
tomorrow.setDate(tomorrow.getDate() + 1);
let input1 = document.querySelector('#checkIn');
input1.value = fecha.format(today, 'YYYY-MM-DD') + ' - ' + 
fecha.format(tomorrow, 'YYYY-MM-DD');
  let demo1 = new HotelDatepicker(input1);
})();

结果: 在此处输入图像描述

这是我到目前为止在 NextJS 上尝试过的:

_app.js 文件

import '../styles/globals.css'
import '../hotel-datepicker-master/dist/css/hotel-datepicker.css'
import '../node_modules/fecha/dist/fecha.min.js'
import '../hotel-datepicker-master/dist/js/hotel-datepicker.js'

function MyApp({ Component, pageProps }) {
return <Component {...pageProps} />
}

export default MyApp

hero.jsx 文件

useEffect(() => {
let today = new Date();
let tomorrow = new Date();
tomorrow.setDate(tomorrow.getDate() + 1);
let input1 = dateInput.current.value;
input1.value = fecha.format(today, 'YYYY-MM-DD') + ' - ' + 
fecha.format(tomorrow, 'YYYY-MM-DD');
let demo1 = new HotelDatepicker(input1);}, [dateInput]);

结果: 未捕获的 TypeError:无法读取未定义的属性(读取'format')

您能告诉我如何进行转换吗?提前谢谢您。

2个回答

尝试

import { format } from 'fecha';

然后

input1.value = format(today, 'YYYY-MM-DD') + ' - ' +
Емил Цоков
2022-09-04

我决定使用 react date range picker 代替 hotel date picker master 和 fecha,它在 nextjs 上很容易实现。谢谢你的帮助。

Whiz
2022-09-16