'use client' // Error components must be Client Components import { useEffect } from 'react' /** * A component that displays an error message and provides a button to attempt a recovery. * @namespace * @param {Object} props - Component props. * @param {Error} props.error - The error object. * @param {Function} props.reset - A function to reset or recover from the error. * @returns {ReactElement} The rendered component. */ const Error = ({ error, reset }) => { useEffect(() => { // Log the error to an error reporting service (or console in this case) console.error(error) }, [error]) return ( <div> <h2>Something went wrong!</h2> <button onClick={ // Attempt to recover by trying to re-render the segment () => reset() } > Try again </button> </div> ) } export default Error