【发布时间】:2016-03-23 15:35:16
【问题描述】:
我对 React 非常陌生,但对 JavaScript 非常熟悉。开始使用 React 真的很艰难,想知道是否有人可以向我解释我应该如何管理以下三个按钮的状态。
我的主要组成部分:
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
var classNames = require('classnames');
import classnames from 'classnames';
import Fans from './Buttons'
export default class Main extends React.Component {
constructor(props) {
super(props);
this.state = {
Buttons:[
{ src: '/src/images/1.svg',
button: 1
},
{ src: '/src/images/2.svg',
button: 2
},
{
src: '/src/images/3.svg',
button: 3
}
]
}
}
render() {
var buttons = this.state.Buttons.map(function(button){
return(<Buttons key={button.button}
buttNum={button.button}
src={button.src}
/>);
})
return (
<div>
{buttons}
</div>
);
}
};
我的按钮组件:
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import classnames from 'classnames';
var classNames = require('classnames');
export default class Buttons extends React.Component {
constructor(props) {
super(props);
this.state = {isActive: false}
this.selectButton = this.selectButton.bind(this)
}
selectButton() {
let active = !this.state.isActive;
this.setState({isActive: active})
}
render() {
let classes = classnames('btn-success', {selected: this.state.isActive});
return (
<img src={this.props.src}
buttNum={this.props.key}
onClick={this.selectButton}
className={classes} />
);
}
};
如何管理各个按钮的状态?!为什么这么难实现...使用 jQuery 或 Angular 只需 5 行代码即可完成!
我只是想使“选定”类一次只能用于一个按钮 - 而是可以在单个按钮上切换选定的,但我不知道如何使用当前的 selectButton 管理所有按钮的状态() 点击处理程序。目前我只能访问被点击按钮的状态...
任何帮助将不胜感激!谢谢。
【问题讨论】:
标签: javascript reactjs react-native frontend