我正在制作一个非常简单的应用程序,你可以点击方形div,将其 colored颜色 从白色改为黑色.然而,我遇到了麻烦.我想使用onClick函数来允许用户点击一个正方形来改变它的 colored颜色 ,但它似乎不起作用.我try 过使用跨距和空p标记,但这也不起作用.

以下是相关代码:

var Box = React.createClass({
    getInitialState: function() {
        return {
            color: 'white'
        };
    },

    changeColor: function() {
        var newColor = this.state.color == 'white' ? 'black' : 'white';
        this.setState({
            color: newColor
        });
    },

    render: function() {
        return (
            <div>
                <div
                    style = {{background: this.state.color}}
                    onClick = {this.changeColor}
                >
                </div>
            </div>
        );
    }
});

这是我在CodePen上的一个小项目的链接.

推荐答案

这很管用

var Box = React.createClass({
    getInitialState: function() {
        return {
            color: 'white'
        };
    },

    changeColor: function() {
        var newColor = this.state.color == 'white' ? 'black' : 'white';
        this.setState({ color: newColor });
    },

    render: function() {
        return (
            <div>
                <div
                    className='box'
                    style={{background:this.state.color}}
                    onClick={this.changeColor}
                >
                    In here already
                </div>
            </div>
        );
    }
});

ReactDOM.render(<Box />, document.getElementById('div1'));
ReactDOM.render(<Box />, document.getElementById('div2'));
ReactDOM.render(<Box />, document.getElementById('div3'));

在你的css中,删除你拥有的样式并把它

.box {
  width: 200px;
  height: 200px;
  border: 1px solid black;
  float: left;
}

你必须设计你打onClick的实际div.给div一个类名,然后设置样式.另外,请记住,如果要将App渲染到dom中,请删除此块,因为应用程序未定义

ReactDOM.render(<App />,document.getElementById('root'));

Reactjs相关问答推荐

运行 node server.js会导致以下错误:Route.post()需要回调函数,但在Route.&处得到了[对象Undefined] lt;计算>

react 表复选框不对任何操作做出react

如何在重新图表中更改悬停时的条形填充 colored颜色 ?

为什么登录错误和密码在创建Reaction-Hook-Form后立即被删除?

如何在单击行中的图标时避免选中ionic 复选框?

在Reaction中管理多个状态

useState导致对函数的无休止调用

使用 React + Vite 范围化 CSS

在 React 中,为什么不将组件和钩子结合起来呢?

Javascript - 正则表达式不适用于 MAC OS - 编码?

React useEffect 依赖项

React Wordpress Apache 在索引之外重新加载 -> 未找到页面

ReactJS 中的图像加载顺序

redux 工具包使用中间件构建器函数时,必须返回一个中间件数组

React - 拖放 UML

在 React 中将路径与查询变量匹配

list 组件未按预期运行

为什么 React 会多次调用我的应用程序的某些函数?

如何将 id 从页面传递到另一个页面?

ClearInterval 在 React 中的 useRef 没有按预期工作