Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Reactjs-如何在单击按钮时在组件之间移动元素_Javascript_Reactjs - Fatal编程技术网

Javascript Reactjs-如何在单击按钮时在组件之间移动元素

Javascript Reactjs-如何在单击按钮时在组件之间移动元素,javascript,reactjs,Javascript,Reactjs,我目前还不熟悉Reactjs,我希望能够移动一个元素(比如,就像两个组件之间的一个简单标题一样(我把它做成了两个简单的方框).我开始了解如何实现按钮,我想我应该将其作为自己的组件来实现,因为它具有重要的功能。我达到的要点如下: /*class MoveButton extends React.Component { handleClick() { alert("Button clicked"); } render() { return (

我目前还不熟悉Reactjs,我希望能够移动一个元素(比如,就像两个组件之间的一个简单标题一样(我把它做成了两个简单的方框).我开始了解如何实现按钮,我想我应该将其作为自己的组件来实现,因为它具有重要的功能。我达到的要点如下:

/*class MoveButton extends React.Component {
      handleClick() {
      alert("Button clicked");
  }

  render() {
     return (
       <button onClick={handleClick}>
         Click To Move
       </button>
    );
  }
 } */

 class BoxOne extends React.Component {
   render() {
     return (
      <div className="boxOne-container">
      </div>
   );
 }
}

   class BoxTwo extends React.Component {
     render() {
      return (
       <div className="boxTwo-container">
       </div>
     );
    }
   }

 function App() {
   return (
     <div>
       <BoxOne />
       <BoxTwo />
     </div>
   );
   }
 ReactDOM.render(<App />,document.getElementById('container'));
/*类MoveButton扩展React.Component{
handleClick(){
警报(“点击按钮”);
}
render(){
返回(
点击移动
);
}
} */
类BoxOne扩展了React.Component{
render(){
返回(
);
}
}
类box2扩展了React.Component{
render(){
返回(
);
}
}
函数App(){
返回(
);
}
ReactDOM.render(,document.getElementById('container'));

这是一个“移动按钮”的示例

class MoveButton extends React.Component {
    render() {
        return (
            <button onClick={this.props.onClick}>
                Click To Move
            </button>
        );
    }
}

class BoxOne extends React.Component {
    render() {
        return (
            <div className="boxOne-container">
                Box1
            </div>
        );
    }
}

class BoxTwo extends React.Component {
    render() {
        return (
            <div className="boxTwo-container">
                Box2
            </div>
        );
    }
}

class App extends React.Component {
    constructor(props) {
        super(props)
        this.state = { pos: 0 }
    }
    onClick() {
        this.setState({ pos: (this.state.pos + 1) % 3 })
    }
    render () { 
        return (
            <div>
                { this.state.pos === 0 ? <MoveButton onClick={this.onClick.bind(this)}/> : ''}
                <BoxOne />
                { this.state.pos === 1 ? <MoveButton onClick={this.onClick.bind(this)}/> : ''}
                <BoxTwo />
                { this.state.pos === 2 ? <MoveButton onClick={this.onClick.bind(this)}/> : ''}
            </div>
        );
    }
}

function App() {
    return (
        <App />
    );
}

ReactDOM.render(<App />,document.getElementById('container'));
class MoveButton扩展了React.Component{
render(){
返回(
点击移动
);
}
}
类BoxOne扩展了React.Component{
render(){
返回(
框1
);
}
}
类box2扩展了React.Component{
render(){
返回(
框2
);
}
}
类应用程序扩展了React.Component{
建造师(道具){
超级(道具)
this.state={pos:0}
}
onClick(){
this.setState({pos:(this.state.pos+1)%3})
}
呈现(){
返回(
{this.state.pos==0?:''}
{this.state.pos==1?:''}
{this.state.pos==2?:''}
);
}
}
函数App(){
返回(
);
}
ReactDOM.render(,document.getElementById('container'));

更具体一点。您想移动什么?@dfsq我想使用按钮将标题从BoxOne移动到BoxTwo,反之亦然,等等。这非常好,谢谢。单击按钮时,是否还有一种方法可以在两个框组件之间移动“Box1”和“Box2”之类的文本?(这样按钮就可以保持不变)