[21/07/20] 모달 이슈 해결하기
- 리팩토링 할거 백로그에 다 올리기
오즈
// ExplorePick
function ExplorePick({ setIsActive }) {
const router = useRouter();
const [select, setSelect] = useState({
item: null,
kind: null,
hashtags: null,
quantity: null,
});
const onClickSearchButton = () => {
router.push({
pathname: '/explore/result',
query: { ...select },
});
};
const onClickXButton = () => {
setIsActive(false);
};
return (
<Wrapper>
<div>
<Icon icon={'XButton'} size={20} onClick={onClickXButton}></Icon>
</div>
<h2>PICK 하세요!</h2>
<div>
<Filter select={select} setSelect={setSelect}></Filter>
</div>
<div>
<Button
variant="primary"
fontWeight="400"
borderRadius="10px"
width="186px"
height="38px"
fontSize={'12px'}
onClick={onClickSearchButton}
>
검색
</Button>
</div>
</Wrapper>
);
}
select
상태를 Filter
로 빼려고 했는데, Button
에서 사용해야하므로 ExplorePick
에서 관리하도록 한다.
tip
자식에서 부모로 상태를 전달해주는 방법은 없을까 ?
// Parent
import { Component } from 'react';
class App extends Component {
onSearchSubmit(text) {
// 전달된다.
console.log(text);
}
render (
<div>
<Searchbar onSubmit={this.onSearchSubmit}/>
</div>
);
}
// Children
import { Component } from 'react';
class Searchbar extends Component {
state = { text: '' };
onFormSubmit = e => {
e.preventDefault();
// 인자로 받은 onSubmit 함수에 인자로 상태값을 넣어준다.
this.props.onSubmit(this.state.text);
}
render (
<div>
<form onSubmit={this.onFormSubmit}>
<input
value={this.state.text}
onChange={(e) => {this.setState({ text: e.tartget.value})}}/>
</form>
</div>
);
}
css 이슈
살짝 벌어지는 이슈
css를 위와 같이 주었을때 드랍다운이 켜지게되면 드랍다운이 마지막 자식이 되어버림.
css가 getClientBoundingRect()
계산 이후에 바뀌게 되버려 계산한 값과 차이를 가져 벌어지게됨
같은 열 크기를 만들어보자
grid
행수가 정해지지 않은 경우
.grid-container {
display: grid;
grid-auto-columns: 1fr;
grid-auto-flow: column;
}
행수가 정해져있는 경우
grid-template-columns: repeat(3, minmax(0, 1fr));
- grid auto columns란
2 x 2 그리드라고 가정할때 column(5,6)에 넣게되어버리면 사실상 없는 위치에 들어가는 것이다. 다음 사진과 같다.
이 때 column width가 0인 암시적 열들이 생겨나는데 이 사이즈를 조절하는 속성이grid-auto-columns
이다.
flex
아래 ref를 보며 flex-grid를 정리해야겠다.
Ref
Author And Source
이 문제에 관하여([21/07/20] 모달 이슈 해결하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@rat8397/210720-찜-목록-구현하기
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Author And Source
이 문제에 관하여([21/07/20] 모달 이슈 해결하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@rat8397/210720-찜-목록-구현하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)