Я создал песочницу react + three с несколькими холстами, показывающими простую модель тетраэдра (демо здесь).
К сожалению, все экземпляры, похоже, используют Three.OrbitControls одинаково: независимо от того, на какой холст указывает мышь - все модели фиксируют событие.
Желаемый результат состоит в том, что OrbitControls обновляет только холст, на который указывает мышь.
Как мне это изменить, чтобы модель на каждом холсте вела себя независимо? (исходный код)



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Просто передайте каждый холст как второй параметр конструктора: См. Второй параметр конструктора.
По умолчанию это document, но если вы передадите определенный элемент DOM, вместо этого он привяжет прослушиватели событий к этому объекту.
var controls1 = OrbitControls(cam1, canvas1);
var controls2 = OrbitControls(cam2, canvas2);
var controls3 = OrbitControls(cam3, canvas3);
var controls4 = OrbitControls(cam4, canvas4);