조타이 소개. 파생 원자. 데이터 유효성 검사
7369 단어 tutorialbeginnersreactjavascript
입력 텍스트 값을 보유할 첫 번째 원자를 작성했습니다. 그런 다음 텍스트 길이를 유지하는 파생 원자를 만들었습니다. 이 코드를 기반으로 기본 유효성 검사와 함께 등록 양식을 만들어 보겠습니다.
먼저 텍스트 입력에 레이블을 추가하여 사용자가 이름을 입력해야 한다는 것을 알 수 있도록 합니다.
const nameAtom = atom("hello");
const Input = () => {
const [text, setText] = useAtom(nameAtom);
return (
<div>
<label>Name: </label>
<input value={text} onChange={(e) => setText(e.target.value)} />
</div>
);
};
그런 다음
Input
구성 요소를 가져와 Form
구성 요소에 넣습니다. Form
구성 요소에 제목과 하나의 입력이 있습니다. 나중에 유효성 검사 결과를 표시하기 위해 Error
구성 요소를 추가합니다.const Form = () => {
return (
<form>
<h1>Registration form</h1>
<Input />
</form>
);
};
이제 새로운 파생 원자를 만듭니다.
nameLengthAtom
에 따라 이름이 3자 이상인지 확인합니다. 길이가 3보다 크거나 같으면 이름이 유효합니다. 그렇지 않으면 그렇지 않습니다.const isNameValid = atom((get) => get(nameLengthAtom) >= 3);
Error
구성 요소에서 이 새로운 원자를 사용하여 사용자가 입력한 이름이 유효한지 여부를 표시합니다. 이름이 유효한 경우 아무 것도 표시하지 마십시오. 이름이 유효하지 않은 경우 사용자에게 이름이 더 길어야 함을 알립니다.const Error = () => {
const isValid = useAtomValue(isNameValid);
return isValid ?
null :
<div style={{ color: "red" }}>Name is too short</div>;
};
이 구성 요소에서는
isNameValid
원자의 값만 읽을 수 있으므로 useAtomValue
대신 useAtom
함수를 사용할 수 있습니다. 이것은 useAtom
의 보다 특수화된 버전입니다. 원자의 값을 변경하는 기능을 노출하지 않고 원자의 값에 대한 액세스를 제공합니다. 특수 API를 사용하면 코드를 더 쉽게 이해하고 유지 관리할 수 있습니다. const isValid = useAtomValue(isNameValid);
는 const [isValid] = useAtom(isNameValid);
와 같습니다.이제
Error
구성 요소를 Form
구성 요소에 추가할 준비가 되었습니다. 이Form
구성 요소를 응용 프로그램에서 사용할 수 있습니다.const Form = () => {
return (
<form>
<h1>Registration form</h1>
<Input />
<Error />
</form>
);
};
const App = () => (
<Provider>
<Container>
<Form />
</Container>
</Provider>
);
이것을 확인하십시오 code live .
문서 및 Jotai 코드의 더 많은 예제는 Jotai website을 확인하십시오.
Reference
이 문제에 관하여(조타이 소개. 파생 원자. 데이터 유효성 검사), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/fricze/introduction-to-jotai-derived-atoms-data-validation-mdb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)