TypeScriptとReactを使用しています。 AppContainer.tsx
コンポーネントを定義し、デフォルトとしてエクスポートしました。これをファイルapp.ts
で使用しています。ここでReactDOM
は、ターゲットのdom要素にレンダリングするために存在します。しかし、そこで私は以下のエラーを受け取ります(画像を参照)。 GitHubリポジトリの詳細とリンクについては、以下をお読みください。
質問:私は何をしているのか、または解釈しているのか、間違っていますか?私が見たすべてのコード例から、これは機能するはずですが、おそらく(明らかに)何かが足りません。 以下は、完全なGitHubリポジトリへの詳細とリンクです。
/// <reference path="../../../typings/index.d.ts" />
// Top level application component
/*------------------------------------------------------------------------------------*/
/** IMPORTS **/
import * as React from 'react';
import { Component } from 'react';
/*------------------------------------------------------------------------------------*/
/*///*/
/*------------------------------------------------------------------------------------*/
/** COMPONENT **/
export default class AppContainer extends React.Component<{}, {}> {
render() {
return ( <div /> );
}
}
/*------------------------------------------------------------------------------------*/
/*///*/
https://github.com/aredfox/electron-starter/blob/master/src/views/components/AppContainer.tsx
/// <reference path="../../typings/index.d.ts" />
/// <reference path="interfaces.d.ts" />
// Setting up react inside the Host html
/*------------------------------------------------------------------------------------*/
/** IMPORTS **/
import * as React from 'react';
import * as ReactDOM from 'react-dom';
// Components
import AppContainer from './components/AppContainer';
/*------------------------------------------------------------------------------------*/
/*///*/
/*------------------------------------------------------------------------------------*/
/** RENDER TO DOM **/
ReactDOM.render(
<AppContainer/>,
document.getElementById('AppContainer')
);
/*------------------------------------------------------------------------------------*/
/*///*/
https://github.com/aredfox/electron-starter/blob/master/src/views/app.ts
拡張子がjsx
のファイル内でtsx
/ts
構文を使用することはできません。
ファイルの名前をapp.tsx
に変更するか、 React.createElement :を使用できます。
ReactDOM.render(
React.createElement(AppContainer),
document.getElementById('AppContainer')
);