ajax의 post를 이용하여 data를 보낼때 context-type을 application-json으로 보낸다면 @RequestParam Map으로 받지못한다그러므로 ajajx 요청시 context-type은 따로 세팅하지말고 보내야한다그리고 옵션으로 processData: false도 추가해야 되는지는 정확히 모르겠지만processData: false도 추가하자
빌드된 파일이 main이고 main에 띄우는 또다른 화면을 sub로 봤을때 main을 sub가 참조할수있도록 sub의 package.json 을 아래와 같이 수정한다"dependencies": { "main":"/react/react-tutorial/build"} 그리고 sub의 package.json scripts부분도 아래와 같이 수정한다"scripts": {"copy:main": "rimraf ./public && cp-cli ./node_modules/main/ ./public","start": "npm run main && react-scripts start", "build": "node build", "test": "react-scripts test", "eject": "react-script..
const { list } = this.props; 받아온 list를 const data = list.map( element => {}); 다음과 같이 {} 로 묶어서 할시 Expected an assignment or function call and instead saw an expression 에러 발생 const data = list.map( element => ()); 위처럼 ()를 사용시 정상작동 왜그런지는 모르겠다;
axios를 이용하여 데이터를 보내는데 스프링에서 데이터를 저렇게 받는데 let form = new formData();from.append("dasd"); axios.post('호스트', form); 을 보냈는데값이 전달되지않았다 그래서 const params = new URLSearchParams();params.append('key', 'value'); axios.post('호스트', params); 를 넣어주니 잘 전달되었음header에 어떤 특정헤더값을 추가하고싶다면 const config = {headers: {'Content-Type': 'dsadasd'}} 이런식으로 헤더값을 설정하고 axios.post('호스트', params, config); 로 보낼수있다
immutable 리액트는 불변성을 유지해야한다 최적화를 하기위해기존객체에 push등을 하면 불변성이 깨져shouldComponentUpdate 에서 가상화dom에대한 최적화를 할수가없다ex) shouldComponentUpdate(nextProps, nextState) { return nextProps.users !== this.props.users; }기존객체를 고쳤으니 비교할대상이없어서 최적화를 할수없게된다위 코드는 새로운객체를 이용하여 불변성을 유지했기때문에 가능하다 state는 반드시 setState로 변경시켜야한다 그렇지않으면 리렌더링 되지않음 불변성을 유지하기위해 바꿀려는 객체를 새로 생성하고 바꿀 부분이 꽤나 깊은곳에 있으면 코드가 복잡해진다ex)const { where } = this.s..
Redux모든 상태관리를 부모컴포넌트를 거쳐서 관리가되기때문에 복잡한 프로젝트일시 부모컴포넌트(App.js)가 길어지면서 유지보수가 힘들어질수있다.그래서 컴포넌트 외부에서 관리하기위해 스토어를 생성하고각 컴포넌트는 스토어를 구독하여 상태를 관리한다변화시키는 함수 리듀서를 사용하여 값을 변화시킨다 parameter : state, action Redux 3가지 규칙하나의 어플리케이션에는 하나의 스토어가 존재해야한다권장 사항은 아님하나의 어플리케이션에 여러개의 스토어를 사용할수있다여러개의 스토어를 사용할경우 개발도구를 사용할수없다상태는 읽기전용이다불변성을 유지해야한다state에 있는 배열값을 수정하려고 그 배열에 있는 값을 바꾸는것이아닌 값을 바꾼 새로운 배열을 생성하는것처럼 리듀서에 이전 상태값은 건드리지..
CRA 프로젝트가 있는곳으로 이동한후yarn eject -> Y