やったこと
今日は、ハッカソンのバックエンド班とミーティングしながらコードの修正をした。
そこで以前までPOSTする際にCORSerrorと400errorが出ていた部分を解消した。
JSON形式で遅れていなかったが故にエラー
以前まで
const data = {
  title: recruteTitle,
  beginTime: recruteStartDate,
  endTime: recruteEndDate,
}
await http.post("/posts", data)
.then((res) => {
  console.log(res)
})
.catch((res) => console.log(res))
navigate("/home");
};
この形でPOSTをしていたため、400errorが出ていた。
JSON形式で遅れていなかったためである。
400以外の形でエラー表示してくれえよとは思ったがww
解決策としては、
const data = JSON.stringify({
  "title": recruteTitle,
  "beginTime": recruteStartDate,
  "endTime": recruteEndDate,
})
JSON.stringify()でJSON化してからPOSTしたらちゃんと通った。
あと、Number型で送る内容をstring型で送っていたのも問題だった。
Storybook * React
複合的なコンポーネントを組み立てる
TaskListのstoryファイル
import React from 'react';
import TaskList from './TaskList';
import * as TaskStories from './Task.stories';
export default {
  component: TaskList,
  title: 'TaskList',
  decorators: [story => <div style=>{story()}</div>],
};
const Template = args => <TaskList {...args} />;
export const Default = Template.bind({});
Default.args = {
  // Shaping the stories through args composition.
  // The data was inherited from the Default story in task.stories.js.
  tasks: [
    { ...TaskStories.Default.args.task, id: '1', title: 'Task 1' },
    { ...TaskStories.Default.args.task, id: '2', title: 'Task 2' },
    { ...TaskStories.Default.args.task, id: '3', title: 'Task 3' },
    { ...TaskStories.Default.args.task, id: '4', title: 'Task 4' },
    { ...TaskStories.Default.args.task, id: '5', title: 'Task 5' },
    { ...TaskStories.Default.args.task, id: '6', title: 'Task 6' },
  ],
};
export const WithPinnedTasks = Template.bind({});
WithPinnedTasks.args = {
  // Shaping the stories through args composition.
  // Inherited data coming from the Default story.
  tasks: [
    ...Default.args.tasks.slice(0, 5),
    { id: '6', title: 'Task 6 (pinned)', state: 'TASK_PINNED' },
  ],
};
export const Loading = Template.bind({});
Loading.args = {
  tasks: [],
  loading: true,
};
export const Empty = Template.bind({});
Empty.args = {
  // Shaping the stories through args composition.
  // Inherited data coming from the Loading story.
  ...Loading.args,
  loading: false,
};
デコレータ
export default {
  component: TaskList,
  title: 'TaskList',
  decorators: [story => <div style=>{story()}</div>],
};
デコレーターを使ってストーリーに任意のラッパーを設定できる
上記のコードでは、decorators というキーをデフォルトエクスポートに追加し、描画するコンポーネントの周りに padding を設定してる
一通りチュートリアルをやったがなかなか身に付かなかった。
実際に描くのが一番な気もしてきた