【发布时间】:2019-03-02 03:18:16
【问题描述】:
我正在尝试将 React 与 X3DOM 一起使用。
我希望能够单击红色 x3dom <box>,以便在按下时将其颜色更改为蓝色。我尝试在<shape> 标记中使用 onClick 方法。我只能通过按下 html <button> 来做到这一点。我在代码中也有按钮。
这是我的 index.js 文件。
import React from "react";
import ReactDOM from "react-dom";
class Toggle extends React.Component {
constructor(props) {
super(props);
this.state = { isToggleOn: true };
this.handleClick = this.handleClick.bind(this);
}
handleClick() {
this.setState(prevState => ({
isToggleOn: !prevState.isToggleOn
}));
}
render() {
return (
<div>
<x3d width='500px' height='300px' >
<scene>
<shape onClick={this.handleClick}>
<appearance>
<material id='color' diffusecolor={this.state.isToggleOn ? '1 0 0' : '0 0 1'}> </material>
</appearance>
<box></box>
</shape>
</scene>
</x3d>
<button onClick={this.handleClick}>
{this.state.isToggleOn ? 'BLUE' : 'RED'}
</button>
</div>
);
}
}
ReactDOM.render(<Toggle />, document.getElementById('toggle'));
谁能给我一个解决方案,或者解释为什么这不起作用。我将不胜感激。
【问题讨论】: