반응형
리액트 훅 형태로 리액트 날짜 피커를 사용할 수 있습니까?
리액트 훅 형태로 리액트 날짜 피커를 사용할 수 있습니까?다음 샘플을 시험해 보았습니다.
https://codesandbox.io/s/awesome-shape-j0747?fontsize=14&hidenavigation=1&theme=dark
하지만 운이 없었지.
import React, { useState } from "react";
import "./styles.css";
import { useForm } from "react-hook-form";
import { Row, Col, Form, FormGroup, Label, Input, Button } from "reactstrap";
import DatePicker from "react-datepicker";
export default function App() {
const { register, handleSubmit } = useForm();
const [startDate, setStartDate] = useState();
const [result, setResult] = useState();
const onSearch = event => {
setResult(event);
};
return (
<div className="App">
<Form onSubmit={handleSubmit(onSearch)}>
<Row>
<Col>
<FormGroup>
<Input
type="number"
name="account"
id="account"
placeholder="AccountId"
innerRef={register({ required: true, maxLength: 20 })}
/>
</FormGroup>
</Col>
</Row>
<Row>
<Col>
<DatePicker
innerRef={register}
name="datetime"
className={"form-control"}
selected={startDate}
onChange={date => setStartDate(date)}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}
timeCaption="time"
dateFormat="MM-dd-yyyy h:mm"
/>
</Col>
</Row>
<Button>Submit</Button>
</Form>
<div>{JSON.stringify(result)}</div>
</div>
);
}
컨트롤러 문서(https://react-hook-form.com/api/ #Controller)를 참조하십시오.
대부분의 외부 컴포넌트 UI libs 구현을 호스트하기 위한 코드 앤 박스 예를 유지하고 있습니다.https://codesandbox.io/s/react-hook-form-controller-079xx
<Controller
as={ReactDatePicker}
control={control}
valueName="selected" // DateSelect value's name is selected
onChange={([selected]) => selected}
name="ReactDatepicker"
className="input"
placeholderText="Select date"
/>
편집
react-hook-form의 최신 버전에서는 다음과 같이 렌더링을 사용한 컨트롤러 구현입니다.
<Controller
name={name}
control={control}
render={({ onChange, value }) => (
<DatePicker
selected={value}
onChange={onChange}
/>
)}
/>
리액트 훅 형식의 v7 사용
Import 의존관계:
import { Controller, useForm } from 'react-hook-form'
import DatePicker from 'react-datepicker'
useForm() 후크에 컨트롤을 추가합니다.
const { control, register, handleSubmit, ... } = useForm()
컨트롤러와 DatePicker 컴포넌트를 추가합니다.
<Controller
control={control}
name='date-input'
render={({ field }) => (
<DatePicker
placeholderText='Select date'
onChange={(date) => field.onChange(date)}
selected={field.value}
/>
)}
/>
언급URL : https://stackoverflow.com/questions/60864610/is-it-possible-to-use-react-datepicker-with-react-hooks-forms
반응형
'programing' 카테고리의 다른 글
CSS 포인터 이벤트 및 커서 스타일 (0) | 2023.03.06 |
---|---|
퍼포먼스를 중시하는 $broadcast 또는 $watch란 무엇입니까? (0) | 2023.03.06 |
Angular JS는 Google Closure와 어떤 관계가 있습니까? (0) | 2023.03.06 |
React가 있는 Wordpress 플러그인의 쇼트 코드 특성 (0) | 2023.03.06 |
리액트 및 웹팩을 사용하여 Babel 6 Stage 0을 설정하는 방법 (0) | 2023.03.06 |