2017-09-19 3 views
0

React/Typescript-JSX/TSXプロジェクトに以下のコードをペーストして貼り付けました。解決されていないGitマージ競合が含まれています。React、Typescriptプロジェクトでのマージ競合の有効性

コードは(ヒューズボックスを介して)ビルドされ、ブラウザで実行されます。

"蒸散"コードの結果、最上位の要素はコンポーネントのルート要素として解決され、2番目の要素(先頭は ".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

そう聞いていない場合はTSCは、それはあなたが持っている可能性のある不正なコードを無視するのが最善です何をするつもりです。入力が間違っていても有効なコードが生成されることがあります。これはデフォルトの動作ですが、私はそれを信じません。あなたの競合を解決してください。 :) – toskv

+0

また、この場合..私はgitからのマージテキストはテンプレート内で終わると仮定します.tscの観点からはテキストであるためです – toskv

+0

@toskv - Typescriptに無視する方法を教えてください"悪いコード"(この場合はあなたの "それ以外の"文)? – Lewis

答えて

0

それが表示され、競合をマージgitのいくつかの状況でそれが税/ JSX解釈/解析/ transpilationかかわらず解決することができます。

与えられたコードは、コンパイルエラーです。つまり、のコンパイルエラーは、JSが生成されないという意味ではありません。これを防ぐオプションnoEmitOnErrorがありますが、コンパイルエラーが表示され、このオプションがなくても修正する必要があると言われています。

もっと

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

関連する問題