web-dev-qa-db-ja.com

React TypeScript:react-router-domからuselocation()の正しいタイプ

私はこの状況のた​​めの正しいタイプを見つけるのに苦労しています。これはログイン後にリダイレクトされた単純化されたバージョンです。以下はコンパイラエラーを生成します。

_Property 'from' does not exist on type '{} | { from: { pathname: string; }; }'.
_

__(SOMECODE)の使用に_as any_を追加する_location.state_コンパイラエラーを修正しますが、醜く、リンターは不満です。

_import React from "react";
import { useLocation } from "react-router-dom";

const AuthLayer: React.FC = (props) => {
  const location = useLocation();

  const { from } = location.state || { from: { pathname: "/" } };

  return <p></p>;
};

export default AuthLayer;
_
4
Jim Greer

あなたは 'history'から場所を使うことができます。

import React from "react";
import { Location } from "history";
import { useLocation } from "react-router-dom";


const AuthLayer: React.FC = (props) => {
  const location = useLocation<Location>();

  const { from } = location.state || { from: { pathname: "/" } };

  return <p></p>;
};

export default AuthLayer;
 _
0
omdjin