Argument of type 'null' is not assignable to parameter of type 'string'. UseRef

Как я могу типизровать useRef.current в string? Я пробовал передовать начальное значение UseRef в виде строки, но тогда возникает другая проблема и передаче этого ref в компонент там возникают проблемы с типизацией введите сюда описание изображения

'use client'
import React, { FormEvent, forwardRef, useRef, useState } from 'react'
import { Button, Stack, TextField } from '@mui/material'
import styles from './mainPage.module.scss'
import { useTodo } from '../../hooks/useTodo'

const MainPage = () => {


    const { functions, get } = useTodo()
    const titleRef = useRef(null)

    const sendTodo = (e: FormEvent) => {
        e.preventDefault()
        if(titleRef.current === '') return
        functions.create(titleRef.current, '')
        titleRef.current = null
    }
    
    return (
        <div className={styles.root}>
            <Stack spacing={1} width='20%' component='form' onSubmit={(e) => sendTodo(e)}>
                <TextField ref={titleRef} value={titleRef.current} id="outlined-basic" label="Outlined" variant="outlined" />
                <Button type='submit' variant='outlined'>Create</Button>
            </Stack>
            
        </div>
    )
}

export default MainPage


import React, { FormEvent, useEffect } from "react"


export interface ITodo {
    id: number
    title: string
    description: string
}

export interface IUseTodoReturn {
    functions: {
        create: (title: string, description: string) => void
        delete: (id: number) => void
    } 
    get: ITodo[]
}


export const useTodo = (): IUseTodoReturn => {

    const [todo, setTodo] = React.useState<ITodo[]>([])

    useEffect(() => {
        localStorage.setItem('todos', JSON.stringify(todo))
    }, [ todo ])


    const createTodo = (title: string, description: string): void => {
        setTodo([...todo, { id: Date.now(), title, description }])
    }


    const deleteTodo = (id: number) => {
        const filteredArray = todo.filter(todo => todo.id !== id)
        setTodo(filteredArray)
    }


    return {
        functions: { create: createTodo, delete: deleteTodo },
        get: todo
    }
}

Ответы (1 шт):

Автор решения: Qwertiy
if(titleRef.current === '') return
if (!titleRef.current) return
→ Ссылка