'React'가 'react'에서 기본 내보내기 인 경우 'React'대신 다른 이름을 사용할 수없는 이유


9

따라서이 질문에 대한 답을 찾고 있었고 가져 오는 동안 'React'는 이름이 지정된 내보내기가 아닌 기본 내보내기이므로 {}에있을 필요는 없다는 것을 알았습니다. 기본 내보내기를 가져 오는 동안 가져 오기시 이름을 사용할 수 있습니다. 그러나이 경우 아래 수입 만 사용할 수 있습니다.

import React from 'react';

그리고 아닙니다

import Somename from 'react';

답변:


10

당신은 할 수 있습니다 그런 식으로 반응 가져올 수 있지만 JSX를 사용하는 경우, 당신은 또한 당신이 "빌더"기능이 더 이상 것을 사용하지 않고있는 것을 transpiler 말할 구성 업데이트해야 React.createElement하지만 대신입니다 Somename.createElement. (Babel을 사용하는 경우 pragma지시문 을 사용하여 수행하십시오 .) React documentation 에서 설명 했듯이 다음과 같습니다.

const element = (
  <h1 className="greeting">
    Hello, world!
  </h1>
);

다음으로 번역됩니다.

const element = React.createElement(
  'h1',
  {className: 'greeting'},
  'Hello, world!'
);

... 따라서 React(또는 구성에서 이름을 변경하면) 범위 내에 있어야합니다 . 그 외에는 괜찮습니다.


1
이 부분을 조금 더하면, JSX로 트랜스 파일러가 무엇을하는지 실제로 보는 것이 도움이됩니다. 다음은 예 입니다.
Nick

1
@TJ Crowder와 @ Nick에게 감사합니다. 아주 좋은 설명이었습니다.
Tick20
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.