2017-09-19 1 views
0

아래 코드를 React/Typescript - JSX/TSX 프로젝트에 체크 인하였습니다. 그것은 해결되지 않은 힘내 병합 충돌을 포함하고 있습니다.병합 충돌이 React, Typescript 프로젝트에서 어떻게 유효합니까?

코드는 (퓨즈 박스를 통해) 빌드되어 브라우저에서 실행됩니다!

"transpiled"코드로 인해 최상위 요소가 구성 요소의 루트 요소로 해석되고 두 번째 요소 (".app-container"로 시작)는 무시됩니다.

일부 상황에서는 git 병합 충돌이 TSX/JSX 해석/구문 분석/변환을 통해 무시 될 수 있습니다.

내 질문은 다음과 같습니다. 어떻게 작동합니까? 이 행동이 의도적입니까?

export const App: SFC =() => (
<<<<<<< HEAD 
    <Provider store={window.uglySolution}> 
     <Router history={customHistory}> 
      <Switch> 
       <Route exact path='/' component={Welcome}/> 
       <Route exact path='/advice' component={PageLayout}/> 
       <Route exact path='/login' component={Login}/> 
       <Route exact path='/manage' component={ManageLayout}/> 
      </Switch> 
     </Router> 
    </Provider> 
======= 
    <div className='app-container'> 
     <Provider store={window.uglySolution}> 
      <Router history={customHistory}> 
       <Switch> 
        <Route exact path='/' component={Welcome}/> 
        <Route exact path='/advice' component={PageLayout}/> 
        <Route exact path='/login' component={Login}/> 
        <Route exact path='/manage' component={ManageLayout}/> 
       </Switch> 
      </Router> 
     </Provider> 
    </div> 
>>>>>>> f81b0b1b458e3d41f91faa2e726be6d88a35d9f8 
); 
+0

더. 입력이 잘못되었다고해도 유효한 코드가 생성 될 수 있습니다. 기본 동작이지만 충돌하지 않습니다. :) – toskv

+0

또한,이 경우 .. 나는 병합 텍스트를 템플릿에서 끝낼 것이라고 가정합니다. tsc의 관점에서 볼 때 텍스트가 될 것입니다. – toskv

+0

@toskv - 어떻게 Typescript가 무시하도록할까요? "나쁜 코드"(이 경우 귀하의 "기타"진술)? – Lewis

답변

0

나타나는 갈등을 병합 이눔 어떤 상황에서 그 세금/JSX 해석/분석/transpilation 불구하고 해결할 수 있습니다.

주어진 코드 은 컴파일 오류입니다. 즉, 컴파일 오류가 발생하지 않는 것은 아닙니다. JS는을 생성합니다. 이것을 방지 할 수있는 옵션 noEmitOnError이 있지만 컴파일 오류가 나타나고이 옵션을 지정하지 않아도 문제가 해결된다고 말했습니다.

그렇지 않으면 TSC는 당신이 가진 수있는 모든 나쁜 코드를 무시하는 것이 가장 좋습니다 할 것입니다 말했다하지 않을 경우

https://basarat.gitbooks.io/typescript/content/docs/why-typescript.html

관련 문제