export const Practice3 = () => {
const onClickPractice = () => {
let total: number = 0;
total = getTotalFee(100);
console.log(total);
};
const getTotalFee = (num: number)=> {
const total = num * 1.1;
return total.toString();
};
return (
<div>
<p>練習問題:変数の型指定</p>
<button onClick={onClickPractice}>練習問題4を実行</button>
</div>
);
};
export const Practice4 = () => {
const onClickPractice = () => calcTotalFee(100);
// strictがtrueの場合numでエラーが出る。
// 理由としては、引数に型を指定していないため。
const calcTotalFee = (num) => {
const total = num * 1.1;
console.log(total);
};
return (
<div>
<p>練習問題:設定ファイルの変更</p>
<button onClick={onClickPractice}>練習問題4を実行</button>
</div>
);
};
import { useState } from 'react';
import './App.css';
import axios from 'axios';
import { Todo } from './Todo';
export default function App() {
const [todos, setTodos] = useState<any>([]);
const onClickFetchData = () => {
axios.get('https://jsonplaceholder.typicode.com/todos').then((res) => {
setTodos(res.data);
});
};
return (
<div className="App">
<button onClick={onClickFetchData}>データ取得</button>
// ここのuseridは本来userIdで渡す必要がある
{todos.map((todo) => (
<Todo title={todo.title} userid={todo.userid} />
))}
</div>
);
}
export const Todo = (props) => {
const { title, userid } = props;
return <p>{`${title}(ユーザ:${userid})`}</p>;
};
import { useState } from 'react';
import './App.css';
import axios from 'axios';
import { Todo } from './Todo';
type TodoType = {
userId: number;
id: number;
title: string;
completed: boolean;
};
export default function App() {
const [todos, setTodos] = useState<Array<TodoType>>([]);
const onClickFetchData = () => {
axios
.get<Array<TodoType>>('https://jsonplaceholder.typicode.com/todos')
.then((res) => {
setTodos(res.data);
});
};
return (
<div className="App">
<button onClick={onClickFetchData}>データ取得</button>
{todos.map((todo) => (
<Todo title={todo.title} userid={todo.userId} />
))}
</div>
);
}