강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Không có người viết

Bài viết có thông tin người viết đã bị xóa.

Học React bằng cách tạo trò chơi trên web

phương thức lớp

value에 대해 질문드립니다.

Đã giải quyết

Viết

·

202

0

안녕하세요.

강사님께서 알려주신대로 작성한 것 같은데 정답일 때 number(value)의 값이 초기화가 안되어 문의드립니다. 제가 수동으로 지워야만 지워집니다.. 테스트는 크롬으로 진행하였습니다.

따로 스크립트 오류는 안나는 것 같은데 제가 뭘 잘못하고 있는 걸까요?

<html>
    <head>
        <meta charset="UTF-8" />
        <title>구구단</title>
        <script crossorigin src="https://unpkg.com/react@16/umd/react.development.js"></script>
        <script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
        <script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>
    </head>
    <body>
        <div id="root"></div>
        <script type="text/babel">
            class GuGuDan extends React.Component {
                constructor(props) {
                    super(props);
                    this.state = {
                        first: Math.ceil(Math.random() * 9), // 첫번째값
                        second: Math.ceil(Math.random() * 9), // 두번째값
                        value: '', // 입력값
                        result: '', // 결과값
                    }
                }

                // html 안에 script 를 따로 빼서 onSubmit() 메소드로 변경
                onSubmit = (e) => {
                    e.preventDefault();
                    if(parseInt(this.state.value) === this.state.first * this.state.second) {
                        this.setState({
                            result: '정답',
                            first: Math.ceil(Math.random() * 9),
                            second: Math.ceil(Math.random() * 9),
                            value: '',
                        });
                    } else {
                        this.setState({
                            result: '땡',
                            value: '',
                        });
                    }
                };

                onChange = (e) => {
                    this.setState({ value: e.target.value });
                };

                // 그리기
                render() {
                    return (
                        <div>
                            <div>{this.state.first} * {this.state.second} = ?</div>
                            <form onSubmit={this.onSubmit}>
                                <input type="number" vaule={this.state.value} onChange={ this.onChange } />
                                <button>입력</button>
                            </form>
                            <div>{this.state.result}</div>
                        </div>
                    );
                }
            }
        </script>
        <script type="text/babel">
            ReactDOM.render(<GuGuDan />, document.querySelector('#root'));
        </script>
    </body>
</html>
react

Câu trả lời 2

1

zerocho님의 프로필 이미지
zerocho
Người chia sẻ kiến thức

vaule 오타입니다.

0

아..아..! 헐 ㅠㅠ 오타.. 이런..!

감사합니다!

Không có người viết

Bài viết có thông tin người viết đã bị xóa.

Đặt câu hỏi