Gutenberg: ν™•μž₯μ„± λ©”μ»€λ‹ˆμ¦˜μœΌλ‘œ μƒνƒœ 미듀웨어 μ£Όμž… κ³ λ €

에 λ§Œλ“  2017λ…„ 05μ›” 06일  Β·  3μ½”λ©˜νŠΈ  Β·  좜처: WordPress/gutenberg

κ΄€λ ¨: #594

#594μ—μ„œ κ²Œμ‹œλ¬Ό μ΄ˆμ•ˆ μ €μž₯이 μ™„λ£Œλ˜λ©΄ μƒˆ κ²Œμ‹œλ¬Ό IDλ₯Ό λ°˜μ˜ν•˜λ„λ‘ ν˜„μž¬ λΈŒλΌμš°μ € URL을 μ‘°μ •ν•©λ‹ˆλ‹€. 이것은 μ „μš© νŽΈμ§‘κΈ° ν™”λ©΄μ˜ μ»¨ν…μŠ€νŠΈμ—μ„œ ν•„μš”ν•˜μ§€λ§Œ μ΄λŸ¬ν•œ URL 변경이 이 μ»¨ν…μŠ€νŠΈ μ™ΈλΆ€μ—μ„œ μ μš©λ˜μ§€ μ•ŠμœΌλ―€λ‘œ νŽΈμ§‘κΈ°μ˜ 이식성이 κ°μ†Œν•©λ‹ˆλ‹€. λ‹€λ₯Έ ν™”λ©΄(예: ν”„λ‘ νŠΈ μ—”λ“œ, μ‚¬μš©μž μ •μ˜ ν”„λ‘œκ·Έλž¨)μ—μ„œ νŽΈμ§‘κΈ°λ₯Ό μ΄ˆκΈ°ν™”ν•  수 μžˆλ„λ‘ ν•˜λ €λ©΄ μ»¨ν…μŠ€νŠΈλ³„ 미듀웨어λ₯Ό μ‚½μž…ν•˜κΈ° μœ„ν•œ μ˜΅μ…˜μ„ 탐색해야 ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€. μ΄λŠ” μƒνƒœ λ³€κ²½μ˜ λΆ€μž‘μš©μ— λŒ€ν•œ 일반적인 ν™•μž₯μ„± νŒ¨ν„΄μœΌλ‘œ μ‚¬μš©λ  수 μžˆμŠ΅λ‹ˆλ‹€.

μ €μž₯ ν›„ 탐색 예제의 경우 λ‹€μŒκ³Ό 같을 수 μžˆμŠ΅λ‹ˆλ‹€.

wp.editor.injectMiddleware( ( store ) => ( next ) => ( action ) => {
    const { type, isNew, post } = action;
    if ( 'REQUEST_POST_UPDATE_SUCCESS' === type ) {
        const [ baseUrl, query ] = window.location.href.split( '?' );
        const qs = parse( query || '' );
        const newUrl = baseUrl + '?' + stringify( {
            ...qs,
            post_id: newPost.id,
        } );
        window.history.replaceState( {}, 'Post ' + newPost.id, newUrl );
    }

    return next( action );
} );

λ˜ν•œλ³΄μ‹­μ‹œμ˜€:

Framework [Feature] Extensibility [Type] Question

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

automattic/notifications-panel 및 automattic/wp-calypso와 ν†΅ν•©ν•˜κΈ° μœ„ν•΄ 이λ₯Ό μˆ˜ν–‰ν•˜λŠ” 방법을 ν™•μΈν•˜μ‹­μ‹œμ˜€.

κ°•ν™”μ œ μ£Όμž…

iframe λͺ¨λ“œμ˜ κΈ°λ³Έ μž‘μ—…

Calypso의 μ‚¬μš©μž μ •μ˜ 톡합

그건 κ·Έλ ‡κ³ , μ—„μ²­λ‚˜κ²Œ 잘 μž‘λ™ν–ˆμŠ΅λ‹ˆλ‹€.

λͺ¨λ“  3 λŒ“κΈ€

automattic/notifications-panel 및 automattic/wp-calypso와 ν†΅ν•©ν•˜κΈ° μœ„ν•΄ 이λ₯Ό μˆ˜ν–‰ν•˜λŠ” 방법을 ν™•μΈν•˜μ‹­μ‹œμ˜€.

κ°•ν™”μ œ μ£Όμž…

iframe λͺ¨λ“œμ˜ κΈ°λ³Έ μž‘μ—…

Calypso의 μ‚¬μš©μž μ •μ˜ 톡합

그건 κ·Έλ ‡κ³ , μ—„μ²­λ‚˜κ²Œ 잘 μž‘λ™ν–ˆμŠ΅λ‹ˆλ‹€.

8κ°œμ›”μ΄ μ§€λ‚¬μ§€λ§Œ μ—¬μ „νžˆ ν•„μš”ν•©λ‹ˆλ‹€ πŸ˜ƒ 데이터λ₯Ό μ²˜λ¦¬ν•˜λŠ” λ°©μ‹μ—μ„œ μ£Όμš” λ¦¬νŒ©ν† λ§μ΄ μžˆμ—ˆμ§€λ§Œ λ―Έλ“€μ›¨μ–΄λŠ” μ—¬μ „νžˆ μ€‘μš”ν•œ 역할을 ν•©λ‹ˆλ‹€. 후크 λΌμ΄λΈŒλŸ¬λ¦¬κ°€ 여기에 μ ν•©ν•œμ§€ μ—¬λΆ€λ₯Ό 탐색할 수 μžˆμŠ΅λ‹ˆλ‹€. https://github.com/WordPress/gutenberg/blob/master/editor/store/middlewares.js#L40 μ—μ„œ ν•„ν„°λ₯Ό μ‚¬μš©ν•˜μ—¬ μΆ”κ°€ 미듀웨어λ₯Ό μ£Όμž…ν•  수 μžˆμŠ΅λ‹ˆλ‹€ @youknowriad λŠ” μ‹œμž‘μ„ μœ„ν•΄ λ‚΄λΆ€ APIλ₯Ό λ§Œλ“€ 것을 μ œμ•ˆν–ˆμŠ΅λ‹ˆλ‹€.

이것은 데이터 λͺ¨λ“ˆμ΄ μžˆλŠ” μƒˆλ‘œμš΄ νŒ¨ν„΄μœΌλ‘œ λŒ€μ²΄λ˜μ—ˆμŠ΅λ‹ˆλ‹€. 특히 subscribe 및 withSelect APIλŠ” κ°œλ°œμžκ°€ μ‹œκ°„μ΄ 지남에 따라 λ³€κ²½ 사항을 κ΄€μ°°ν•˜κ³  이에 λŒ€μ‘ν•  수 μžˆλ„λ‘ ν•©λ‹ˆλ‹€. https://github.com/WordPress /gutenberg/blob/master/packages/data/README.md

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰