//필요로 하는 패키지나 라이브러리 불러오기
const React = require('react');
const {useState, useRef} = React;
const WordRelayHooks = () => {
const [word, setWord] = useState('제로초');
const [value, setValue] = useState('');
const [result, setResult] = useState('');
const inputRef = useRef(null);
const onChange = e => {
const value = e.target.value;
setValue((prev)=>value);
}
const onSubmit = e => {
e.preventDefault();
const lastChar = word[word.length-1];
const input = value;
if(lastChar === input[0]){
setResult('딩동댕');
setWord((prev)=>input);
setValue((prev)=>'');
}else{
setResult('땡');
setValue('');
}
inputRef.current.focus();
}
return (
<>
<div>{word}</div>
<form onSubmit={onSubmit}>
<input ref={inputRef} type='text' onChange={onChange} value={value}/>
<button>입력</button>
</form>
<div>{result}</div>
</>
);
}
//쪼갠 파일에서 쓰는 컴포넌트를 밖에서도 사용할 수 있게 해주는 것. (이것이 노드의 모듈 시스템)
module.exports = WordRelayHooks;
WordRelayHooks.jsx
const React = require('react');
const ReactDom = require('react-dom');
const WordRelay = require('./WordRelay'); //module.export를 했기 때문에 require로 가져올 수 있다.
const WordRelayHooks = require('./WordRelayHooks');
//ReactDom.render(<WordRelay/>, document.querySelector('#root'));
ReactDom.render(<WordRelayHooks/>, document.querySelector('#root'));
Client.jsx
'코딩이야기 > 인터넷 강의' 카테고리의 다른 글
section2. 3-1. import와 require 비교 (0) | 2024.05.20 |
---|---|
section1. 2-11. 컨트롤드 인풋 vs 언컨트롤드 인풋 (0) | 2024.05.19 |
section1. 2-9. 웹팩 데브 서버와 핫 리로딩 (1) | 2024.05.19 |
section1. 2-8. 끝말잇기 Class 만들기 (0) | 2024.05.19 |
section1. 2-7. @babel/preset-env와 plugins (1) | 2024.05.17 |