- 리액트에서 그럼 리플로우랑 리페인트(리드로우) 대신에 종합적인 리콘실리케이션(재조정 or 조화과정)으로 납득하고 넘어가면 되는것인가. 갈아끼우면 끝인가... 나는 헷갈린다 -ㅅ- ... render 함수가 대충 이전과 이후 컴포넌트 돔 트리 꼬라지를 보고 다른 부분이 있으면 그부분을 교체하는건 알겠는데... 복합이야 이거? 진짜? DOM 자체는 문제가 없는데 리페인트 할 때 어떤걸 하는진 까봐야하나..

아무튼 성능면에서는 다들 짱이니까 쓰고있겠지? 맨날 편하다고 뷰만 쓰다보니 거의 생각없이 코드짜곤 했네. 최적, 효율, 그런걸 만들었나보다. 하고 지금은 생각 중... (그래 그거 가상돔 그거, 뷰도 있는 그 가벼운 버춸돔 그거) 

- 아직 그리고 JSX가 익숙하지 않다. 한달쯤 지나면 익숙해질 수 있을까? 흠... 이제 곧 한달인데... -ㅅ- 책산걸 꺼내서 훑어보자.
옛방식을 쓰고있네... ㅠㅠㅠㅠ 전자책이면 전자내용도 업데이트 되면 좋겠다

Fragment 사용은 이렇게 하네. 요즘은 이렇게하네.

import React, {Fragment} from 'react';

코드 메모.

// static을 붙인 경우, render 외부에서 에러는 안나는데 해도 응답이 없음.
    handleClk = (() => {
        this.setState({
          oneTwoNum: this.state.oneTwoNum + 1
        })
    })

    // handleClk = () => {
    //     this.setState({
    //         oneTwoNum: this.state.oneTwoNum + 1
    //     })
    // }


    // handleClick() {
    //     this.setState({
    //         oneTwoNum: this.state.oneTwoNum + 1
    //     })
    // }

졸리다. ref.current 방식으로 쓰는게맞나.

class App extends React.Component {
    // ref 사용법 제대로 익히고 간다 진짜 ㅠㅠㅠㅠㅠㅠㅠㅠ 아오 
    scrollBoxRef = React.createRef();
    handleClick = () => {
        console.log('====배고파 ㅠㅠㅠㅠ')
        console.log(this.scrollBoxRef)
        console.log('====배고파 ㅠㅠㅠㅠ')

        this.scrollBoxRef.current.scrollToBottom();
    }
    render() {
        return (
            <div>
                <header className="App-header">
                    <img src={logo} className="App-logo" alt="logo" />
                    <ScrollBox ref={this.scrollBoxRef} />
                    <button onClick={this.handleClick} >
                                 아래로
                             </button>
                </header>
            </div>
        );
    }
}


// function App() {
//
//     const scrollBoxRef = React.createRef();
//
//     const handleClick = function () {
//         console.log("배고프다배고프다---")
//         console.log(scrollBoxRef)
//         console.log("슬슬뭐먹지-----")
//
//         scrollBoxRef.current.scrollToBottom()
//         // 허 .... 책 예제랑 전혀다르네
//     }
//
//   return (
//     <div className="App">
//       <header className="App-header">
//         <img src={logo} className="App-logo" alt="logo" />
//         <ScrollBox ref={scrollBoxRef} />
//         <button onClick={handleClick} >
//             아래로
//         </button>
//       </header>
//     </div>
//   );
// }

export default App;

'프론트 > React' 카테고리의 다른 글

react  (0) 2022.04.15
yarn berry + react +TS + Storybook init  (0) 2022.03.24
생각 메모(1)  (0) 2021.04.18
초보자 자습서(tutorial) 따라하다가  (0) 2021.03.21

서브라임으로 탭으로 신나게 작성했더니

어머, 탭은 안되네 스페이스로 바꾸고나서 실행되었다.

그리고 detach 넣으려고 봤는데 그냥 실행할 때 up뒤에 붙여주자....

docker-compose up -d

끝.

'몰라그거무서운거 > 기타등등' 카테고리의 다른 글

OpenWhisk  (0) 2021.04.29
쿠베 메모  (0) 2021.04.26
hive 에서 create table 등이 안될 때...  (0) 2021.04.02
java 추가 설치중 에러가...  (0) 2021.02.24
sqoop 메모.  (0) 2018.07.19

🥺 오늘도 영어네. (한국어일리가 없지)

아무튼 컬러픽커나 여러가지 사진에 대해 CSS 등을 조정하는, (블러 등) 이런걸

요번에 자바스크립트로 업데이트 해볼것이다.

스타일부터 선언하는데 가상 선택자라고 :루트에다가 :root 라고 먹였다.🔥

blog.thereis.xyz/136

 

:root 가상선택자와 CSS 변수

CSS에서 간단한 변수를 선언하고 사용할 수 있다는 사실에 대해서 알고 있는 사람은 알겠지만 모르고 있는 사람들도 있을 것 같아 친절한 내가 소개하려고 가져왔다. 일단 :root 가상선택자에 대

blog.thereis.xyz

그담에 대쉬대쉬가 뭐냐고?

developer.mozilla.org/ko/docs/Web/CSS/Using_CSS_custom_properties

 

사용자 지정 CSS 속성 사용하기 (변수) - CSS: Cascading Style Sheets | MDN

사용자 지정 CSS 속성 사용하기 (변수) 사용자 지정 속성(CSS 변수, 종속 변수)은 CSS 저작자가 정의하는 개체로, 문서 전반적으로 재사용할 임의의 값을 담습니다. 사용자 지정 속성은 전용 표기법

developer.mozilla.org

CSS에서 쓸 변수요.

var(--변수명); 써서 잘 만들고, 동작하나 확인하자. 마지막으로 필터까지 먹이면 완성~
아. 클래스 h1 ... JS 글자까지 먹이기 ^^

CSS 변수를 업데이트 해보자꾸나.

도쿠먼트 쿼리설랙트 올~ (.countrols input)~ 😓
... 해서 각 컨트롤러의 값을 받자. 이것은 유사 배열 객체요. 상속받은 메서드들이 참 많다.
핸들 업데이트를 하나 만들고, 반복을 돌며 변경되는경우, 핸들을 건드리면 이벤트를 받는 콘솔을 찍어보자.
드래그 해도 체인지 하고 싶으면 마우스무브로 바꿔라. 난리난다.

😭 아무쪼록, 근데 이 CSS와 input을 바인딩해서 연결을 해야할 것 같은데 어떻게하느냐가 중요하니까
dataset을 통해서 돔에 data-어쩌구저쩌구로 하면 에 저장해둘 수 있는 공간이 생긴다.

... 아 똥같네... 예제가 ㅠㅠ 아무쪼록, suffix 를 하나 만들어서 사이즈를 받아보자. 없으면 || '' ; 해서 초기화 하는걸로

아무튼 사이즈를 다 가져오고 아닌경우 안받아오니 좋은 예제이다.

가지고온 네임을 이용해서 document 의 set property를 위에서 만든 변수명으로 지정한다.
이런식으로 바뀌는 변수명을 업데이트 할 수 있다.

끝.

'프론트 > javascript' 카테고리의 다른 글

30일 Javascript 따라해보기 메모(2) - CSS 시계  (0) 2021.04.07
30일 Javascript 따라해보기 (1) 드럼킷 - 메모  (0) 2021.04.06
그냥 메모  (0) 2021.01.11
mocha vs jest  (0) 2020.11.29

자. 2일분량 회차다.🙂 아무쪼록, 잘해보자.

구현내용은 여기 있으니까, 영상 안보고 만들면 된다.

3개의 핸들이 겹쳐있다. 뭘 하면 돌릴 수 있을까? 트랜스폼 rotate이다. 그리고 이 회전 힌지? (접히는 부분 돌리는 포인트를 끝쪽으로 밀어서 중심이 되어 돌아가게 조절하는게

transform-origin: 100%;

핸들이 어떻게 만들어지는지 동작에 대한 부분을 검토.🔥 트랜스폼과 트랜지션으로 해결본다. 

째각째각도 아래 코드로 만들기. 나는 이렇게 했다.

      transition-timing-function: cubic-bezier(0.4, 0, 0.38, 1.84);

그 후 1000ms 마다 setInteval로  1초마다 현재 초를 구분하고, 초마다 넘어가는 각도도 Dedgree로 정하고.

초단위 앵글단위로 잘 넘어가나 봤으면

분단위 , 시단위 아무거나 골라서 초단위로 움직이는지 테스트 완료하고.

각 남은 핸들(초, 분 시)에 대한 핸들링을 먹인 후, 동작하는지 확인하고, (여기까지하면 반복코드가 보인다.)

길이조정 정도 남았고, 코드정리가 남았네. (안하네?)

아니네, 시간이 넘어갈 때 90도에서 0도로 넘어갈 때 나는 너무 순간적으로 튕기니까
트랜지션 타이밍 함수를 좀 변경해야할 것 같다.

코드정리 부분은 반복되는 부분을 함수로 묶어 빼는것이 좋다.

20장 - 엄격모드
: 🙂 적용 할거면 다하고, 부분적으로 섞어 쓰지말고, 린트를 쓰는것도 좋다.

21장 - 빌트인 객체
: 여러가지 객체의 분류를 다루어 주었다. 빌트인 객체, 원시값이 있는데 왜 있는지, 전역객체(새로나온 globalThis), eval은 쓰지말고, 암묵 전역의 경우도🙂... 음...😓 개인적으로 사람들이 안썼으면 좋겠다.

22장 - this
✨디스! 이것! 이건... 이거다! 이 챕터도 중요한 챕터다.
자기자신! 식별자가 없으면 식별할 수 없잖어... 그치만 함수의 경우 기명 함수 표현식으로 재귀 식별해도 되긴하는데 쫌 모양새라고 해야하나... 어렵잖아... 사람이 보기에... 그래서 클ㄹㅐㅅㅡ.....
함수호출 방식에 따라 정적(렉시컬) 스코프에선 this 바인딩 시점이 좀 다른거랑... 뭐... 프레임워크 다루게 되면 일반함수 호출은 거의 안할거고 메서드나 생성자로 많이 쓰게되니, 오해하는 경우가 있다. 호출 방식에 따라 바인딩 되는곳이 다르다.
아. bind는 은근 꽤 많이 쓰인다... 그러니까 마지막의 표 주의깊게 볼 것.


23장 - 실행 컨텍스트
: 중요한장이다. 이 실행 컨텍스트라는 친우의 역할을 알려준다.
전역 객체 생성(객체환경레코드) -> 전역 코드 평가 -> 전역 코드 실행 -> 함수 코드 평가 -> 함수 코드 실행의 과정을 익히고
실행스택, 스코프, 렉시컬환경의 이해도를 높여주었다.🔥🔥🏓 렉시컬 환경은 - TL;DR... 컴포넌트로 구성되어있고, 전역환경레코드, 객체환경 레코드랑 선언적 환경 레코드 이런건 첨듣네 ㅠㅠㅠㅠㅠㅠㅠ 얼마나 이 무지했단말인가 ㅠㅠ그냥 메모리 저장인줄알았지ㅠ레코드가 있었구나ㅠ
ES6에서 그럼 선언적 레코드 환경이 새로 추가된건거구나. let const 를 위해서.. .. ㅠㅠㅠㅠㅠㅠㅠ그림 23-24 ㅠㅠㅠ 참 친철하네..

24장 - 클로저
: 얘도 중요하잖아... 아니 이책에 안중요한게 없는 것 같다. 
근데 앞에 실행컨텍스트랑 렉시컬 환경 험한거 지나와서 정말 책에 써있는데로 쉽네. 
그림 24-1을 참고하자. 이전 실행컨텍스트 장에서 나왔던 내용을 환경을 추가해서 더욱 잘 설명하고 있다. 외부함수보다 ㅁㅁㅁㅁ가 긴 내부함수. 이러한 중첩 함수가 클로저. 캡슐 정보화 은닉의 경우, 직접 접근하면 안되는 정보를 대표적인 우리들의 모던한 예제인 makeCount 함수로 표현하고 있다. 이건 모던 자바스크립트 튜토리얼에도 나오는 좋은 예제. 거기에 더해서 두번 호출하는 딥다이브를 보여주는군...🥺 두번 호출 하면서 생기게 되는 자유변수 공유 문제 해결을 표현하고... predicate
MDN: 클로저는 함수와 함수가 선언 된 렉시컬환경의 조합이다. 😇

25장 - 클래스
: 문법적 설탕인가? ... ㅇㅇ 난 설탕이라도 맛있으니 새로운 객체 생성 방법으로 필요한 절차라고 생각했다.🙂
418쪽에 4번이 최근 당한 내용이네... 암묵적으로 strict 적용 되는 부분.😓 클래스명에 파스칼 케이스는 쓰는것을 권장 함. 

함수로 평가되는것과 호이스팅이 되는구나. 다른 언어의 교육에서 붕어빵틀로 표현하... 는 클래스... 인스턴스 생성 안하면 무용지물이니까 new 연산자 없이 쓰면 ... 음 그렇군...🙂

클래스 문법에 익숙해지면 프로토타입으로 했던것보다 손쉽게 구현할 수 있구나.
Prototype 메서드와 Static 메서드의 차이점을 이야기하는구나.. Static 공간이다 보니까 내꺼만 쓸 수 있군. Math.max 같은걸로.

옹...✨클래스 몸체에 정의하는 방식이 ....... 생겼는데 25-69예제 super는 여기서부텉 다시 좀 봐야겠네 졸리나 ㅠㅠ...

+ Recent posts