React(5)練習項目
練習項目
これは簡単な練習項目で、双方向バインド、高度な通信、ユーザーステータスの管理、stateによるユーザーリストの管理、再利用可能な構成部品の使用を学習します.
難点
最初に、ユーザーの入力値を検証する過程で、次のコードを作成しました.
しかし私が考えた結果、isValidName、isValidAgeの状態はすぐに変わっていないので、ずっと時間を無駄にしていました.🙄🙄
理由は!
これは,関数にstate変更が発生した場合,関数終了後に変更が発生することを知らないためである.const NewForm = () => {
const [name,setName] = useState('')
const [age,setAge] = useState('')
const [isValidName, setIsvalidName] = useState(true)
const [isValidAge, setIsValidAge] = useState(true)
const checkName = () => {
if(name.trim().length === 0) setIsvalidName(false)
}
const checkAge = () => {
if(age.trim().length === 0) setIsvalidName(false)
if(+age < 0) setIsvalidName(false)
}
const submitHandler = (event) => {
event.preventDefault();
checkName()
checkAge()
if(isValidName && isValidAge) {
/*
유저 객체 생성 및 전달 받은 props 함수를 통해
부모 컴포넌트로 유저 데이터 전달
name, age의 state를 ''으로 저장
*/
}else{
// 에러 모달창 state 값 변경
}
}
}
したがって、stateを使用せずにコードを変更して、必要な結果を得ることができます.😃🤣const NewForm = () => {
const [name,setName] = useState('')
const [age,setAge] = useState('')
if (name.trim().length === 0 || age.trim().length === 0) {
// 에러 메세지 저장 및 에러 모달 state 변경
return;
}
if (+age < 0 || +age > 100) {
// 에러 메세지 저장 및 에러 모달 state 변경
return;
}
/*
유저 객체 생성 및 전달 받은 props 함수를 통해
부모 컴포넌트로 유저 데이터 전달
name, age의 state를 ''으로 저장
*/
};
}
その他の内容
また,ユーザリストリストを消去するボタンも実現した.
userListタイトルページ
Reference
この問題について(React(5)練習項目), 我々は、より多くの情報をここで見つけました
https://velog.io/@lsh__97/React-5-연습-프로젝트
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
const NewForm = () => {
const [name,setName] = useState('')
const [age,setAge] = useState('')
const [isValidName, setIsvalidName] = useState(true)
const [isValidAge, setIsValidAge] = useState(true)
const checkName = () => {
if(name.trim().length === 0) setIsvalidName(false)
}
const checkAge = () => {
if(age.trim().length === 0) setIsvalidName(false)
if(+age < 0) setIsvalidName(false)
}
const submitHandler = (event) => {
event.preventDefault();
checkName()
checkAge()
if(isValidName && isValidAge) {
/*
유저 객체 생성 및 전달 받은 props 함수를 통해
부모 컴포넌트로 유저 데이터 전달
name, age의 state를 ''으로 저장
*/
}else{
// 에러 모달창 state 값 변경
}
}
}
const NewForm = () => {
const [name,setName] = useState('')
const [age,setAge] = useState('')
if (name.trim().length === 0 || age.trim().length === 0) {
// 에러 메세지 저장 및 에러 모달 state 변경
return;
}
if (+age < 0 || +age > 100) {
// 에러 메세지 저장 및 에러 모달 state 변경
return;
}
/*
유저 객체 생성 및 전달 받은 props 함수를 통해
부모 컴포넌트로 유저 데이터 전달
name, age의 state를 ''으로 저장
*/
};
}
Reference
この問題について(React(5)練習項目), 我々は、より多くの情報をここで見つけました https://velog.io/@lsh__97/React-5-연습-프로젝트テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol