Typescript: TSX: λ³€μˆ˜μ— μ €μž₯된 ꡬ성 μš”μ†Œλ₯Ό μ‚¬μš©ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

에 λ§Œλ“  2016λ…„ 01μ›” 12일  Β·  3μ½”λ©˜νŠΈ  Β·  좜처: microsoft/TypeScript

λ ˆν”„λ‘œ

MyComponent λΌλŠ” ꡬ성 μš”μ†Œκ°€ μžˆλ‹€κ³  κ°€μ •ν•©λ‹ˆλ‹€.

λ‹€μŒκ³Ό 같이 MyComponent μ‚¬μš©ν•˜λ©΄ λ‹€μŒκ³Ό 같이 μž‘λ™ν•©λ‹ˆλ‹€.

render() {
  return <MyComponent />;
}

κ·ΈλŸ¬λ‚˜ MyComponent λ₯Ό λ³€μˆ˜μ— μ €μž₯ν•œ λ‹€μŒ μ‚¬μš©ν•˜λ €κ³  ν•˜λ©΄ λ‹€μŒκ³Ό 같이 λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

render() {
  var anAlias = MyComponent;
  return <anAlias />;
}

λ‹€μŒ 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€.

error TS2339: Property 'anAlias' does not exist on type 'JSX.IntrinsicElements'.

ν•΄κ²° 방법

TSXλ₯Ό μ‚¬μš©ν•˜λŠ” λŒ€μ‹  React.createElement .

render() {
  var anAlias = MyComponent;
  return React.createElement(anAlias);
}
By Design

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

anAlias λŠ” μ†Œλ¬Έμžλ‘œ μ‹œμž‘ν•˜κΈ° λ•Œλ¬Έμ— 본질적인 JSX μš”μ†Œμž…λ‹ˆλ‹€. 고유 μš”μ†ŒλŠ” JSX.IntrinsicElements μΈν„°νŽ˜μ΄μŠ€μ—μ„œ 쑰회되며 κ·€ν•˜μ˜ κ²½μš°μ—λŠ” μ•„λ§ˆλ„ anAlias 멀버가 없을 κ²ƒμž…λ‹ˆλ‹€. κ°’ 기반 μš”μ†Œ 둜 μ²˜λ¦¬λ˜λ„λ‘ λŒ€λ¬Έμžλ‘œ

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

anAlias λŠ” μ†Œλ¬Έμžλ‘œ μ‹œμž‘ν•˜κΈ° λ•Œλ¬Έμ— 본질적인 JSX μš”μ†Œμž…λ‹ˆλ‹€. 고유 μš”μ†ŒλŠ” JSX.IntrinsicElements μΈν„°νŽ˜μ΄μŠ€μ—μ„œ 쑰회되며 κ·€ν•˜μ˜ κ²½μš°μ—λŠ” μ•„λ§ˆλ„ anAlias 멀버가 없을 κ²ƒμž…λ‹ˆλ‹€. κ°’ 기반 μš”μ†Œ 둜 μ²˜λ¦¬λ˜λ„λ‘ λŒ€λ¬Έμžλ‘œ

Vladκ°€ λ‹€λ£¨μ—ˆμŠ΅λ‹ˆλ‹€. 이것은 일반 JSX λ³€ν™˜κΈ°μ—μ„œ λ³Ό 수 μžˆλŠ” 것과 λ™μΌν•œ λ™μž‘μž…λ‹ˆλ‹€(μ†Œλ¬Έμž μ‹λ³„μžλŠ” div λ˜λŠ” span 와 λ™μΌν•˜κ²Œ 처리됨).

감사 ν•΄μš”. 본질적인 μš”μ†Œμ™€ κ°€μΉ˜ 기반 μš”μ†Œμ˜ 차이λ₯Ό μΈμ‹ν•˜μ§€ λͺ»ν–ˆκ³  첫 κΈ€μžμ˜ λŒ€μ†Œλ¬Έμžκ°€ μ€‘μš”ν•œμ§€λ„ λͺ°λžμŠ΅λ‹ˆλ‹€.

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