コンポーネントの参照が必要です。 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);
}
@types/react
のバージョンが古くなっているようです。最新バージョンの16.3.14
には、createRef
の型定義があります。
TypeScriptコードベースでは、react-domタイプを更新する必要がありました。
yarn upgrade @types/react-dom^16.3.0