0

我是新来的反应 - 我确定这是一个简单的问题,但我在找出解决方案时遇到了很多麻烦。

所以我有两个按钮。Onclick 第一个按钮它应该打开淡入,如果我点击同一个按钮(button1)或者如果我点击按钮(button2)它应该淡出。button2 相同。到目前为止,我设法弄清楚淡入淡出是如何工作的,但无法解决淡出问题。

import React, { Component } from 'react'
import { Jumbotron, Grid, Row, Col, Image, Button, Carousel,Fade,Well } from 'react-bootstrap';
import './About.css';

export default class About extends Component {
  constructor(props, context) {
    super(props, context);
    this.state = {
      buttonPressed: false,
      buttonPressed1: false

      //open: false
    }
    
}

handleClick = (button) => {
  this.setState({ buttonPressed: button })
}
handleClick1 = (button) => {
  this.setState({ buttonPressed1: button })
}
  render() {
    return (
      <Grid>
      <button className='button1' onClick={() => this.handleClick({ open: !this.state.buttonPressed })}>
      BUTTON 1
           </button>
           <button className='button2' onClick={() => this.handleClick1({ open: !this.state.buttonPressed1 })}>
      BUTTON 2
           </button>
           <Fade class='fade1' in={this.state.buttonPressed}>
          <div>
            <Well>
             first
            </Well>
          </div>
        </Fade>
        <Fade class='fade2' in={this.state.buttonPressed1}>
          <div>
            <Well>
              second
            </Well>
          </div>
        </Fade>
      </Grid>

    )
  }
}

请帮助有关代码。

提前致谢。

第一张截图 第一张截图

第二个截图 第二个截图

4

1 回答 1

1

您将一个对象而不是布尔值传递给 handleClick 方法。应该是这样的:

handleClick = (button) => {
  this.setState({ buttonPressed: button.open })
}

handleClick1 = (button) => {
  this.setState({ buttonPressed1: button.open })
}
于 2018-06-25T03:45:48.703 回答