我正在构建一个组件,基本上就像一个复选框,但是是定制的设计。
我的组件就像
class App extends React.Component {
constructor(props){
super(props);
this.state = {
checked: false
};
}
toggle(){
this.setState({
checked: !this.state.checked
});
}
render() {
return (
<svg onClick={this.toggle.bind(this)}>
<circle cx={50} cy={50} r={30} fill={this.state.checked ? "green" : "red"} />
</svg>
)
}
}
ReactDOM.render(<App />, document.getElementById('container'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="container">
<!-- This element's contents will be replaced with your component. -->
</div>
处理状态的正确方法是什么,以便我可以使用 Mobx 或 Redux 状态管理?换句话说:我怎样才能使这个组件对状态管理不可知,并允许从组件外部更改状态?