Html-react-parser: 였λ₯˜: imgλŠ” 무효 μš”μ†Œ νƒœκ·Έμ΄λ©° `children`을 ν¬ν•¨ν•˜κ±°λ‚˜ `dangerouslySetInnerHTML`을 μ‚¬μš©ν•΄μ„œλŠ” μ•ˆ λ©λ‹ˆλ‹€.

에 λ§Œλ“  2016λ…„ 08μ›” 26일  Β·  14μ½”λ©˜νŠΈ  Β·  좜처: remarkablemark/html-react-parser

μ•ˆλ…•ν•˜μ„Έμš”!

ν›Œλ₯­ν•œ ν”ŒλŸ¬κ·ΈμΈμž…λ‹ˆλ‹€. 이것이 μ œκ°€ μž‘μ—…ν•˜λŠ” 데 도움이 될 것이라고 μƒκ°ν•©λ‹ˆλ‹€.

img μš”μ†Œλ₯Ό ꡬ문 λΆ„μ„ν•˜λ©΄ μœ„μ˜ 였λ₯˜κ°€ λ°œμƒν•˜λŠ” κ²ƒμœΌλ‘œ λ‚˜νƒ€λ‚¬μŠ΅λ‹ˆλ‹€. μ΄λŠ” μžμ‹ μš”μ†Œκ°€ μ—†μ–΄μ•Ό ν•˜λŠ” λͺ¨λ“  μš”μ†Œμ—λ„ 적용될 수 μžˆμŠ΅λ‹ˆλ‹€.

μž„μ‹œ ν•΄κ²° 방법은 λ‹€μŒκ³Ό 같이 μ‚¬μš©ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

const parserConfig = {
    replace: domNode => {
        if(domNode.type === DOM_TYPE_TAG && domNode.name === 'img') {
            return <img src={domNode.attribs.src} alt={domNode.attribs.alt} className={domNode.attribs.class} />;
        }
    }
};

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

img νƒœκ·Έμ— 어린이λ₯Ό μΆ”κ°€ν•˜λ €κ³  ν–ˆκΈ° λ•Œλ¬Έμ— 이 λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€...

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

μ•Œλ € μ€˜μ„œ κ³ λ§ˆμ›Œ. 이 였λ₯˜λ₯Ό μž¬ν˜„ν•  수 μžˆλŠ” μ˜ˆκ°€ μžˆμŠ΅λ‹ˆκΉŒ?

μ•ˆλ…•ν•˜μ„Έμš”!
λ‹€μŒμ„ μ‚¬μš©ν•˜μ—¬ 이λ₯Ό μž¬ν˜„ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
ReactDOM.render(Parser('<div><img src="" alt=""/></div>'), document.getElementById('root'));

μ’‹μ•„ κ³ λ§ˆμ›Œ!

@poacher2k 예λ₯Ό λ“€μ–΄ μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€. 버그λ₯Ό μ‚΄νŽ΄λ³΄κ³  #16μ—μ„œ μˆ˜μ •ν–ˆμŠ΅λ‹ˆλ‹€.

npm update html-react-parser λ˜λŠ” npm install [email protected] μ‹œλ„ν•˜κ³  이것이 였λ₯˜λ₯Ό μ œκ±°ν•˜λŠ”μ§€ μ•Œλ €μ£Όμ‹­μ‹œμ˜€.

ν•΄κ²°λ˜μ—ˆμŠ΅λ‹ˆλ‹€. λ‹€μ‹œ ν•œ 번 κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€! λ‹€λ₯Έ void μš”μ†Œμ— λŒ€ν•œ 검사도 μΆ”κ°€ν•œ 것을 λ³΄λ‹ˆ κΈ°μ©λ‹ˆλ‹€!

정말 λ°˜κ°‘κ³  ν™˜μ˜ν•©λ‹ˆλ‹€! πŸ‘

@remarkablemark λ‚˜λŠ” μ—¬μ „νžˆ λ¬Έμ œμ— μ§λ©΄ν•˜κ³  있으며 npm install [email protected] μ½”λ“œλŠ” 이 λ²„μ „μ—μ„œ μ—…λ°μ΄νŠΈλ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.

@vidit1 latest 버전을 μ„€μΉ˜ν–ˆλŠ”μ§€ 확인할 수 μžˆμŠ΅λ‹ˆκΉŒ?

npm i html-react-parser<strong i="8">@latest</strong>

# or
npm i [email protected]

그런 λ‹€μŒ λ‹€μŒμ„ μˆ˜ν–‰ν•˜μ—¬ ν™•μΈν•©λ‹ˆλ‹€.

npm ls html-react-parser

@remarkablemark μ΅œμ‹  λ²„μ „μ˜ html-react-parserλ₯Ό μ—…λ°μ΄νŠΈν–ˆμ§€λ§Œ μ—¬μ „νžˆ 이 λ¬Έμ œμ— 직면해 μžˆμŠ΅λ‹ˆλ‹€. λ‚˜μ˜ μš”μ†ŒλŠ” material-ui κ΅¬μ„±μš”μ†Œ 내뢀에 μžˆμŠ΅λ‹ˆλ‹€.
<Drawer> <div className="alert" role="alert"> <img src="https://getbootstrap.com/assets/brand/bootstrap-solid.svg" width="30" height="30" className="d-inline-block align-top" alt=""> Bootstrap </img> </div> </Drawer>

@blueskysmart : img νƒœκ·Έ μ•ˆμ— "Bootstrap"μ΄λΌλŠ” ν…μŠ€νŠΈκ°€ μžˆμŠ΅λ‹ˆλ‹€. 였λ₯˜κ°€ λ§ν–ˆλ“―μ΄ img λŠ” void μš”μ†Œμ΄λ©° μžμ‹μ„ κ°€μ§ˆ 수 μ—†μŠ΅λ‹ˆλ‹€.

μˆ˜μ • 방법에 λŒ€ν•œ 지침은 μ•„λž˜ @remarkablemark 의 μ„€λͺ…을 μ°Έμ‘°ν•˜μ„Έμš”.

@blueskysmart @poacher2k λ‹˜ 의 λŒ“κΈ€μ΄ λ§žμŠ΅λ‹ˆλ‹€. 이 λ°”μ΄μ˜¬λ¦° μ—μ„œ 이 였λ₯˜μ˜ μž¬ν˜„μ„ λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

μ•Œκ² μŠ΅λ‹ˆλ‹€. κ°μ‚¬ν•©λ‹ˆλ‹€.

이 였λ₯˜λŠ” ꡬ문 λΆ„μ„λ§Œ μ‹œλ„ν•˜λŠ” κ²½μš°μ—λ„ λ°œμƒν•©λ‹ˆλ‹€.
<img src="img.jpg".>

μž‘λ™ν•˜κ²Œ ν•˜λ €λ©΄ div에 λž˜ν•‘ν•©λ‹ˆλ‹€.

<div>
<img src="img.jpg".>
</div>

img νƒœκ·Έμ— 어린이λ₯Ό μΆ”κ°€ν•˜λ €κ³  ν–ˆκΈ° λ•Œλ¬Έμ— 이 λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€...

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