Задать вопрос
DEFUNK
@DEFUNK
internet explorer

X is not a function. Как исправить?

Я не программист, базовые = нулевые понимания js и синтаксиса react. С помощью библиотеки react three залепил свою модельку в браузер, разобрался как настроить материал и добавил эффектов, однако сейчас решил залезть туда, где все за гранью моего интеллекта и понимания , а то есть - заняться оптимизацией.

Нашел готовое решение по адаптивной регрессии рендера.

Как я понял и что сделал:

1. Объявил функцию
function AdaptivePixelRatio() {
    const current = useThree(state => state.performance.current)
    const setPixelRatio = useThree(state => state.setPixelRatio)
    useEffect(() => {
      setPixelRatio(current * 2)
      document.body.style.imageRendering = current === 1 ? 'auto' : 'pixelated'
    }, [current])
    return null
  }


2. У компонента (моей модельки)
const regress = useThree((state) => state.performance.regress)
  useEffect(() => {
  ref.current?.addEventListener('change', regress)


3. А в сцене вызываю
<AdaptivePixelRatio />

Однако на это все я получаю ошибку setPixelRatio is not a function

---

Помогите, пожалуйста, исправить это.
  • Вопрос задан
  • 84 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
Krasnodar_etc
@Krasnodar_etc
fundraiseup
Вам нужно разобраться:
1 - Что за хук useThree ? Конкретно, что он возвращает?
2 - Что такое state.setPixelRatio ?

Из приведённого кода это не понятно
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы