Skip to main content

Route template

import { ModifyTodoPage } from '~/containers/todo/modify-todo-page';
import { modifyTodoAction } from '~/controllers/todo/modify-todo.action';
import { todoByIdLoader } from '~/controllers/todo/todo-by-id.loader';

// Loader
export const loader = todoByIdLoader;
// Action
export const action = modifyTodoAction;

export default function Index() {
// containers
return <ModifyTodoPage />;
}

// Error boundary - required
export { ErrorBoundary } from '~/libs/components/error-boundary';
  • Lưu ý trong môt route sẽ không xử lý bất kỳ một UI, loader, action
  • Chú ý: Mỗi route đều phải có
export { ErrorBoundary } from '~/libs/components/error-boundary';
  • Riêng đối với các route delete sẽ sử dụng
export { ErrorBoundary } from '~/libs/components/error-boundary/error-boundary-delete-modal';

Filename: routes/app.todos.$id.delete.tsx

import { DeleteTodoPage } from '~/containers/todo/delete-todo-page';
import { deleteTodoAction } from '~/controllers/todo/delete-todo.action';
import { todoByIdLoader } from '~/controllers/todo/todo-by-id.loader';

export const loader = todoByIdLoader;
export const action = deleteTodoAction;

export default function Index() {
return <DeleteTodoPage />;
}

export { ErrorBoundary } from '~/libs/components/error-boundary/error-boundary-delete-modal';