web-dev-qa-db-ja.com

TSXファイルの場合:プロパティ 'createRef'はタイプ 'typeofReact'に存在しません

コンポーネントの参照が必要です。 jsxからtsxに移行したばかりで、この問題の解決策が見つかりません。

他の回避策はクエリセレクターを使用することですが、それは私が信じている反応で物事を行うための良い方法ではありません。

これがコンストラクター関数です

constructor(props) {
    super(props);
    this.state = {
        data: initialData,
        showNewListForm: false,
        whichButtonClicked: undefined,
        background: props.background || "#23719f"
    };

    this.divContainerRef = React.createRef();
    console.log("kanban reference : " + React.createRef().current);

    this.handleDragStart = this.handleDragStart.bind(this);
    this.handleDragEnd = this.handleDragEnd.bind(this);
    this.handleLaneDragEnd = this.handleLaneDragEnd.bind(this);
    this.handleLaneDragStart = this.handleLaneDragStart.bind(this);
    this.onCardAdd = this.onCardAdd.bind(this);
    this.onCardClick = this.onCardClick.bind(this);
    this.addNewListHandler = this.addNewListHandler.bind(this);
    this.containerRefResolver = this.containerRefResolver.bind(this);
    this.isBoardPresent = this.isBoardPresent.bind(this);
}
7
Aman Kumar

@types/reactのバージョンが古くなっているようです。最新バージョンの16.3.14には、createRefの型定義があります。

12
WayneC

TypeScriptコードベースでは、react-domタイプを更新する必要がありました。

yarn upgrade @types/react-dom^16.3.0

1
Damian Green