const { data: resData } = AnimalService.list(params)>AnimalService.list(params) のレスポンスから data プロパティを取り出します。
const response = AnimalService.list(params);
const resData = response.data;
複数の引数に展開するタイプ
const object = { data: 'value', anotherProp: 123 };
const { data, anotherProp } = object;
console.log(data); // 'value'
console.log(anotherProp); // 123
import { Link } from 'react-router-dom';
function App() {
return (
<div>
<Link to="/about">About Us</Link>
<Link to="/contact">Contact</Link>
</div>
);
}
ここでの to プロパティは、リンク先のパスを指定します。<Link to="/about"> は /about パスへのリンクを作成し、ユーザーがこのリンクをクリックすると About Us コンポーネントが表示されます(もちろん、/about パスに対して適切なルート設定がされている必要があります)。
React RouterのLinkコンポーネントはいくつかのプロパティ(属性)を持っており、それらはリンクの振る舞いをカスタマイズするために使われます。
以下はLinkコンポーネントの主要なプロパティです:
to: ナビゲートするパスまたはロケーションオブジェクトを指定します。文字列でパスを直接指定するか、パス名、検索クエリ、ステートを持つオブジェクトを渡すことができます。
<Link to="/about">About</Link>
// または
<Link to={{ pathname: "/about", search: "?sort=name", state: { fromDashboard: true } }}>
About
</Link>
replace: trueの場合、ナビゲートするときに履歴スタックの現在のエントリを新しいエントリで置き換えます。デフォルトはfalseで、新しいエントリが履歴スタックに追加されます。
<Link to="/about" replace>About</Link>
state: ナビゲーション時に履歴エントリに保存されるステートオブジェクトを指定します。これは、目的のルートに追加の状態を渡すのに便利です。
<Link to={{
pathname: '/about',
state: { fromDashboard: true }
}}>About</Link>
onClick: リンクがクリックされたときに実行される関数を指定します。デフォルトのナビゲーションを防ぐためにevent.preventDefault()を呼び出すことができます。
<Link to="/about" onClick={(event) => {
// カスタムの振る舞いやチェック
event.preventDefault();
}}>About</Link>
innerRef: リンクの実際の<a>タグに対するrefを取得するために使います(React v16.3以降はforwardRefを使用します)。
<Link to="/about" innerRef={node => {
// `<a>`タグの参照を使う
}}>About</Link>
aria-current: ナビゲーションの現在のページを示すためのARIA属性です。リンクが現在アクティブなルートを指している場合に、スクリーンリーダーなどのアシスティブテクノロジーに追加情報を提供します。
let newCategoryMap: { [key: string]: string } = {};
richMenuCategories.forEach((ent: any) => {
newCategoryMap[ent.id] = ent.name;
});
console.log(newCategoryMap);//■■■□□□■■■□□□