{
                  
                  
                    const ref = useRef<null | number>(null)
                  
                  
                  
                  
                  
                    return (
                  
                  
                      <div>
                  
                  
                        {ref.current && (
                  
                  
                          <div
                  
                  
                            onClick={() => {
                  
                  
                              const bar = ref.current
                  
                  
                            }}
                  
                  
                          ></div>
                  
                  
                        )}
                  
                  
                      </div>
                  
                  
                    )
                  
                  
                  }
                  
                  
                  
                  
                  
                  В итоге bar получает тип number | null
                  
                  
                  Кто знает, почему это происходит и как это исправить?
                  
                  
                
а что не так? Ты прописал Null | number поэтому тебе выводит нул намбер
Но перед этим я делаю проверку ref.current
Ты делаешь проверку при объявлении функции, а не при вызове. Это два разных момента во времени. И для тс это два разных контекста
А почему если сделать так же, только вместо рефа будет const bar = Math.random() > 0.5 ? 10 : null, то тогда проверки достаточно?
Обсуждают сегодня