[JavaScript/React] 텍스트 상자에 입력 티에크 구현
15579 단어 신인 프로그래머 응원React프런트 엔드자바스크립트Qiita
이 기사에서 쓰기
React를 사용하여 텍스트 상자 입력 확인 구현
이미지
1. 텍스트 상자에 문자를 입력하거나 삭제하면 현재 텍스트 상자에 입력된 문자가 콘솔에 표시됩니다.
2. 텍스트 상자에 문자를 입력하지 않은 경우
· "문자를 입력하십시오."라는 문구를 화면에 표시합니다.
·
false
를 콘솔에 표시합니다.3. 텍스트 상자에 문자를 입력하지 않은 경우
· "문자를 입력하십시오."라는 문구가 화면에 표시되지 않습니다.
·
true
를 콘솔에 표시합니다.개발 환경
개발환경은 다음과
품목
PC
MacBook Air
OS
MacOS Catalina ver 10.15.2
브라우저
Chrome
에디터
CodeSandbox
참고
CodeSandbox 를 이용하는 것으로, 언제나 이용하고 있는 브라우저상에서 React 를 코딩할 수 있다.
파일 배치
src/styles.css ※
src/index.js
public/index.html ※
App.js
Form.js
package.json ※
※ ... CodeSandbox のデフォルトのコードを使用するため変更箇所なし
코드 예
src/index.js
import React from "react";
import ReactDOM from "react-dom";
import App from "../App"; // App.js をインポート
import "./styles.css";
const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);
App.js
import React from "react";
import Form from "./Form"; // Form.js をインポート
class App extends React.Component {
render() {
return (
<div className="App">
<h1>Hello CodeSandbox</h1>
<h2>Start editing to see some magic happen!</h2>
<br />
<Form title="Form1" />
<br />
<Form title="Form2" />
</div>
);
}
}
export default App; // App.js をエクスポート
Form.js
import React from "react";
class Form extends React.Component {
constructor(props) {
super(props);
this.state = { isTextValid: false };
}
isTextValid(event) {
const inputText = event.target.value;
console.log(inputText);
if (inputText === "" || inputText.length === 0) {
console.log(false);
this.setState({ isTextValid: false });
return false;
} else {
console.log(true);
this.setState({ isTextValid: true });
return true;
}
}
handleErrorText() {
if (this.state.isTextValid === false) {
return <p>文字を入力してください。</p>;
}
}
render() {
return (
<div>
<h2>{this.props.title}</h2>
<form action="#">
{this.handleErrorText()}
<input
type="text"
onChange={event => {
this.isTextValid(event);
}}
/>
<br />
<input type="submit" value="Submit" />
</form>
</div>
);
}
}
export default Form; // Form.js をエクスポート
포인트
event.target.value
에서 텍스트 상자에 입력하는 문자 얻기Form.js(일부 발췌)
isTextValid(event) {
const inputText = event.target.value;
console.log(inputText);
if (inputText === "" || inputText.length === 0) {
console.log(false);
this.setState({ isTextValid: false }); // this.state.isTextValid を false に更新
return false;
} else {
console.log(true);
this.setState({ isTextValid: true }); // this.state.isTextValid を true に更新
return true;
}
}
Form.js(일부 발췌)
render() {
return (
<div>
<h2>{this.props.title}</h2>
<form action="#">
{this.handleErrorText()}
<input
type="text"
onChange={event => {
this.isTextValid(event);
}}
/> // onChange に isTextValid メソッドを設定
<br />
<input type="submit" value="Submit" />
</form>
</div>
);
}
Reference
이 문제에 관하여([JavaScript/React] 텍스트 상자에 입력 티에크 구현), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tanakadaichi_1989/items/39a147621c34ae2fa4c1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)