버튼 누르면 state에 상품 추가
-> payload활용한 수정함수 만들기
-> export
-> 사용할 파일에 가서 import (이 실습에서는 Detail.js파일)
-> dispatch도 필요하니까 import
-> dispatch 선언
-> 사용하기
상세 페이지마다 다른 상품 추가하고 싶으면?
리액트에서 자주 쓰는 if문 작성패턴 5개
function Component() {
if ( true ) {
return <p>참이면 보여줄 HTML</p>;
} else {
return null;
}
}
function Component() {
if ( true ) {
return <p>참이면 보여줄 HTML</p>;
}
return null;
}
==> 조건문 ? 조건문 참일때 실행할 코드 : 거짓일 때 실행할 코드
function Component() {
return (
<div>
{
1 === 1
? <p>참이면 보여줄 HTML</p>
: null
}
</div>
)
}
function Component() {
return (
<div>
{
1 === 1
? <p>참이면 보여줄 HTML</p>
: ( 2 === 2
? <p>안녕</p>
: <p>반갑</p>
)
}
</div>
)
}
*** 자바스크립트 && 연산자
true && false; // false
true && true; // true
true && '안녕'; // 안녕
false && '안녕'; // false
true && false && '안녕'; // false
function Component() {
return (
<div>
{
1 === 1
? <p>참이면 보여줄 HTML</p>
: null
}
</div>
)
}
function Component() {
return (
<div>
{ 1 === 1 && <p>참이면 보여줄 HTML</p> }
</div>
)
}
function Component2(){
var user = 'seller';
if (user === 'seller'){
return <h4>판매자 로그인</h4>
} else if (user === 'customer'){
return <h4>구매자 로그인</h4>
} else {
return <h4>그냥 로그인</h4>
}
}
function Component2(){
var user = 'seller';
switch (user){
case 'seller' :
return <h4>판매자 로그인</h4>
case 'customer' :
return <h4>구매자 로그인</h4>
default :
return <h4>그냥 로그인</h4>
}
}
장점 : if문 연달아쓸 때 코드가 약간 줄어들 수 있음
단점 : 조건식란에서 변수하나만 검사할 수 있음
현재 state가 info면
상품정보
현재 state가 shipping이면
배송정보
현재 state가 refund면
환불약관
보여주고 싶은 경우
function Component() {
var 현재상태 = 'info';
return (
<div>
{
{
info : <p>상품정보</p>,
shipping : <p>배송관련</p>,
refund : <p>환불약관</p>
}[현재상태]
}
</div>
)
}
var 탭UI = {
info : <p>상품정보</p>,
shipping : <p>배송관련</p>,
refund : <p>환불약관</p>
}
function Component() {
var 현재상태 = 'info';
return (
<div>
{
탭UI[현재상태]
}
</div>
)
}
localStorage (반영구적 저장 가능)
로컬스토리지/ 세션스토리지
로컬스토리지에 object 자료 저장하기
데이터 출력하기
데이터 삭제하기
데이터 수정하는 문법
세션스토리지 문법
localStorage을 sessionStorage로 바꾸면 됨
sessionStorage.setItemsetItem('이름','값')
sessionStorage.getItem('이름')
sessionStorage.removeItem('이름')
localStorage에 array/object 저장하려면?
저장 불가하지만, JSON으로 바꿔주면 가능
JSON자료 : object / array 자료에 ' ' 추가한 것
array/ object -> JSON 변환하는 법 : JSON.stringify( )사용하기
JSON이기 때문에 꺼낸것.name 이런식으로 object 문법 사용불가능
JSON -> array/ object 변환하는 법 : JSON.parse( )
코드 짜는 법
실습
array -> Set -> array
: 사이트 재접속시에도 데이터 유지되게 만들려면 localStorage 사용하기
모든 state를 localStorage에 자동저장?
redux-persist 등 외부 라이브러리 사용