[번역] Deku Component Specs
Components는 UI에서 다시 사용하는 부분입니다.component를
select
원소처럼 복합적인 사용자 정의 원소로 볼 수 있다.모든 생명주기의 갈고리는state를 조작하기 위해 함수를 정의할 수 있으며, 간혹 필요한 데이터를 되돌려줍니다.
component는 대상에 불과합니다. 대상에 함수와 속성이 있습니다.그중에 어떤state도 저장하지 않고 아무 데나 사용하지 않는다
this
.js
export let Button = { render (component) { let {props,state} = component return
{props.children}} }
모듈을 사용하면 참조한 다음 마운트하기만 하면 됩니다.
js
import {Button} from './button.js' import {element,tree,render} from 'deku' let app = tree( ) render(app, document.body)
먼저 button 대상을 도입한 다음
deku
의 함수로 응용 프로그램을 만듭니다.그리고 원소를 응용에 걸어라.그리고 render
함수로 DOM에 렌더링합니다.사용 가능한 모든 component 속성은 다음과 같습니다.
디버깅에 사용할component 이름 정의
js
export let name = 'My Component'
initialState
component 초기 상태 가져오기
js
export function initialState (props) { return { open: true } }
defaultProps
기본props 정의 이후 모든 실례에서 유효합니다
js
export let defaultProps = { style: 'round' }
beforeMount
이 갈고리는 클라이언트와 서버에서 클라이언트: Yes Server: Yes
js
export function beforeMount (component) { let {props, state, id} = component }
shouldUpdate
업데이트마다 호출됩니다. 렌더링을 건너뛰고 component 성능을 향상시키는 데 사용됩니다. Client: Yes Server: No
js
export function shouldUpdate (component, nextProps, nextState) { let {props, state, id} = component return true }
beforeRender
매번 렌더링하기 전에 호출되며 클라이언트와 서버는 다음 프롬프트에 따라stream/emitter를 업데이트합니다
Client: Yes Server: Yes
js
export function beforeRender (component) { let {props, state, id} = component }
beforeUpdate
첫 번째 렌더링은 호출되지 않습니다. 다만 업데이트할 때 용례를 호출합니다. - 다음 props에 따라stream/emitter를 업데이트합니다.
Client: Yes Server: No
js
export function beforeUpdate (component, nextProps, nextState) { let {props, state, id} = component }
render
component를 렌더링합니다.setState를 보내면sub-component에서 호출할 수 있습니다. 미래에 클라이언트: Yes Server: Yes
js
export function render (component, setState) { let {props, state, id} = component return
}
afterRender
每次渲染后调用, 包括第一次
它在初次渲染时也调用, 这比 afterUpdate 要好
这让我们按照每次渲染去考虑问题, 而不是生命周期
在这里不允许更新 state, 因为很可能导致你根据 DOM 来修改状态
用例:
- 基于最新的 state 更新 DOM, 比如, 动画, 事件处理
Client: Yes
Server: No
js
export function afterRender (component, el) { let {props, state, id} = component }
afterUpdate
첫 번째 렌더링이 아닌 것은 호출입니다. 다른 렌더링이 있을 때마다 용례를 호출합니다. - 지난state의transition에 따라 state - state가 수정된 후에 호출합니다.
Client: Yes Server: No
js
export function afterUpdate (component, prevProps, prevState, setState) { let {props, state, id} = component }
afterMount
component가 처음 렌더링된 후에만 호출됩니다. 한 번만 호출됩니다. - 통계 추적 - 초기 데이터 불러오기 - 즉시 업데이트에 필요한 상태입니다. 예를 들어 Open/close - window/document에 DOM 이벤트 프로세서 - DOM에 있는 요소를 추가합니다. 예를 들어 dislog를 루트 노드로 이동 - 요소에 초점을 맞추기
Client: Yes Server: No
js
export function afterMount (component, el, setState) { let {props, state, id} = component }
beforeUnmount
원소가 제거되었을 때 한 번만 호출됩니다. component 마운트 해제 후의 제거 용례입니다. - window/document 해제 이벤트 프로세서 - component 해제 후 DOM에 대한 수정 - 해제 이벤트emitters - Disconnect streams
Client: Yes Server: No
js
export function beforeUnmount (component, el) { let {props, state, id} = component }
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[React.js] React Queryfetching : 데이터 요청 상태 네트워크에서 데이터를 fetch 하고 A 라는 query key 로 캐싱함 만일 cacheTime 이 지나기 전에 A 쿼리 인스턴스가 새롭게 mount 되면, fetch 가 실행...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.