Typeスクリプトのクリーンアップ


let age :JSX.Element =
内容
;//コンポーネントjsxタイプ定義
const output = useSelector( (state :{count: number}) => state);
const output = useSelector( (state :RootState) => state);//リドスから持ってきたタイプ
const dispatch :Dispatch = useDispatch();//派遣時の書き込み動作タイプの定義
tpee定義を追加
type tempType = {address:string, job:number}
function User(props :tempType) :JSX.Element
インタフェースとして定義
interface arrLength {
count: number
}
const initial :arrLength= {count:0};
有効なアクションReduserのアクションタイプを定義します
randomss(state, action :PayloadAction<number>){  // 페이로드액션은 액션에 어떤타입들어가는지
  state.count += action.payload
},
name : string | undefind
name? : string
関数タイプは()=>{}
関数式にのみaliasを入力
typeで指定したタイプ名=(a:string)=>number;
let関数:関数タイプ名=function(a){
return 10
}
一般変数または関数はtype
オブジェクトはインターフェース
ユニオンタイプ2人とも入ってきた時
function hamsu(a: string | undefined){
if( a && typeof a === 'string') {
} a가 언디파인이면 실행안되고 스트링이면 실행 narrowing
}
タイプが分からなければanyで書けばいいのですが、これでtsを書く理由はありません
function関数(x:unknown[]){
return x[0]
}
interface arrLength {
length: number
}
function check(x: tempType){
return x.length
}
let a=関数(['100'])
let age :JSX.Elemnet=コンテンツ
fucn
function user() : JSX.Element {
プロファイルに戻る
}