-
글쓴이글
-
2021년 3월 4일 10:23 #6973
Daehun Song참가자안녕하세요. 선생님 강의 듣고 실제로 회원가입폼을 만들어 보고 있는 도중 해결이 안되서 질문드립니다. 회원가입시, 모든 약관에 동의합니다의 체크박스를 클릭하면 하위의 체크박스들이 체크가 되도록 하고 싶습니다만, 선생님 강의 중 모달 이벤트를 인용하여 해봤습니다만, 잘 되지 않아, 혹시 제가 어떤 부분을 놓쳤는지 죄송하지만 조언을 구하고 싶습니다. 현재는 모든 약관에 동의합니다에 체크를 하면 아래와 같은 에러가 나옵니다. index.js:1 Warning: Invalid attribute name:
0
-------------------------------------------------------------------------------------
import React, { useEffect, useState, useContext } from 'react';
import { Link, Route, Switch, useHistory } from 'react-router-dom';
import { Form, Button, InputGroup, Label } from 'react-bootstrap';
import { connect } from 'react-redux';function Contract(props) {
let [all_check, set_all_check] = useState(false);
let [contract_check, set_contract_check] = useState(false);
let [individual_check, set_individual_check] = useState(false);
let history = useHistory();useEffect(() => {
set_contract_check(all_check);
set_individual_check(all_check);
},[all_check])return (<>
<main className="" role="main">
<div className="m-5"><h2>약관동의</h2></div>
<div className="ml-5 mr-5">
<div className="text-center">
<Form.Label className="font-weight-bold">{props.env.sitename}의 회원으로 가입을 원하는 경우,<br />아래 약관 및 개인정보 처리방침에 대한 안내를 반드시 읽고, 동의해주세요.</Form.Label>
</div>
<div className="text-right">
<Form.Check type='checkbox' label="모두 동의합니다." onClick={() => { set_all_check(!all_check) }} />
</div>
</div>
<div className="m-5">
<Form className="text-left justify-content-center">
<Form.Group controlId="exampleForm.ControlTextarea1" className="disabled">
<Form.Label className="font-weight-bold">회원가입약관</Form.Label>
<Form.Control as="textarea" rows={5} readOnly>
</Form.Control>
</Form.Group>
<div className="text-right">
<Form.Check type='checkbox' label="개인정보 수집 및 이용에 동의합니다."
{ ...contract_check ? 'checked': null }
/>
</div>
<div className="mt-5">
<Form.Group controlId="exampleForm.ControlTextarea1">
<Form.Label className="font-weight-bold">개인정보 수집 및 이용에 관한 동의 사항 (필수사항)</Form.Label>
<Form.Control as="textarea" rows={5} readOnly>
</Form.Control>
</Form.Group>
</div>
<div className="text-right mb-5">
<Form.Check type='checkbox' label="개인정보 수집 및 이용에 동의합니다."
{ ...individual_check === true ? 'checked': null }
/>
</div>
<div className="text-center"><Button onClick={() => {
history.push('/sign')
}}>회원가입</Button></div>
</Form>
</div>
</main>
</>
)}
function StateToProps(state) {
return {
env: state[0]
}
}export default connect(StateToProps)(Contract)
//export default Contract;2021년 3월 4일 12:41 #6974
codingapple키 마스터<Form.Check type="checkbox" label="개인정보 수집 및 이용에 동의합니다."
{ …contract_check ? 'checked': null }
/>이 부분의 중괄호가 이상해보입니다
태그안에 html attribute 형태로 넣으려는 것입니까 그렇다면 어쩌구={저쩌구} 아니면 어쩌구="어쩌구" 이렇게 넣으시면 되고
태그안에 내용을 채워넣고 싶으면 <태그>어쩌구</태그>이렇게 넣으심 됩니다
2021년 3월 4일 13:01 #6975
Daehun Song참가자checkbox 에 checked를 html에 표시 해준다는 단순한 사고를 했는데(예전에php나 spring밖에 안해봐서요)
리액트는 attribute로 할 수 있는 걸 알게되었네요.(강의에 있었다면 죄송합니다. 두번이나 돌려보는데 깜빡깜빡하네요.ㅎㅎ)
checked = {contract_check ? 'checked' : null }
로 하니까 해결되었습니다.
감사합니다. ^^
-
글쓴이글
- 답변은 로그인 후 가능합니다.