javascript - React Js 中的月份选择器问题
问题描述
我正在尝试使用库react-month-picker制作月份选择器
反应中的工作代码:https ://codesandbox.io/s/react-month-picker-forked-84rqr
而且我已将相同的代码复制到Next Js 项目(React SSR) 中https://codesandbox.io/s/nice-bartik-o5miw但它会引发错误,
月份选择器中属性“值”的无效值
index.js:(代码仅与月份选择器相关)
import React, { useState } from "react";
import ReactDOM from "react-dom";
import ReactMonthPicker from "react-month-picker";
import "react-month-picker/css/month-picker.css";
const MonthPicker = ({ range }) => {
const [isVisible, setVisibility] = useState(false);
const [monthYear, setMonthYear] = useState({});
const showMonthPicker = event => {
setVisibility(true);
event.preventDefault();
};
const handleOnDismiss = () => {
setVisibility(false);
};
const handleOnChange = (year, month) => {
setMonthYear({ year, month });
setVisibility(false);
};
const getMonthValue = () => {
const month = monthYear && monthYear.month ? monthYear.month : 0;
const year = monthYear && monthYear.year ? monthYear.year : 0;
return month && year ? `${month}-${year}` : "Select Month";
};
return (
<div className="MonthYearPicker">
<button onClick={showMonthPicker}>{getMonthValue()}</button>
<ReactMonthPicker
show={isVisible}
lang={[
"Jan",
"Feb",
"Mar",
"Apr",
"May",
"Jun",
"Jul",
"Aug",
"Sep",
"Oct",
"Nov",
"Dec"
]}
years={range}
value={monthYear}
onChange={handleOnChange}
onDismiss={handleOnDismiss}
/>
</div>
);
};
function App() {
const range = {
min: { year: 2020, month: 3 },
max: { year: 2025, month: 2 }
};
return (
<div className="App">
<MonthPicker range={range} />
</div>
);
}
似乎是一个简单的问题,但我无法弄清楚我哪里出错了。
问题是它在 react codesandbox中有效,但在 Next JS codesandbox中无效。
你能帮我从选择器中选择月份和年份吗?
解决方案
const [monthYear, setMonthYear] = useState({month: '', year: 0});
推荐阅读
- c# - MSEdgeDriver - Cannot find a file name bin\Debug\isDisplayed.js
- python - jinja2.exceptions.TemplateSyntaxError: Encountered unknown tag 'type'
- vue.js - 是否可以在 vue-good-table 中启用/禁用复选框?
- java - JFreeChart - 关于 TimeZone 的 TimeSeries
- python - Python 中的 OSQP 求解器
- functional-programming - 池多处理到parallel_map - 先知模型
- reactjs - 函数内部的 MSAL setActiveAccount
- selenium - 使用 selenium 登录页面
- go - 使用 govmomi 确定集群成员
- typescript - 如果返回类型是对象的属性,则返回类型的函数的行为会有所不同