Проблема в функции преобразования в реагировать как компонент класса в материале пользовательского интерфейса - PullRequest
0 голосов
/ 10 октября 2019

Я пытаюсь преобразовать функцию FAQSection в класс FAQSection

Это для веб-приложения

const handleChange = panel => (event, isExpanded) => {
    setExpanded(isExpanded ? panel : false);
  };

в

constructor(props){
          super(props);
          this.state = {
            expanded: 'panel0',
            setExpanded: false
          }
          this.handleChange = this.handleChange.bind(this);
    }
handleChange(panel){ 
      this.setState({
      expanded: panel,
      setExpanded: false
    });
   };

Я хочу, чтобы ExpansionPanel работалсо вторым дескриптором вместо первого здесь (https://material -ui.com / компоненты / панели расширения / )

Ответы [ 2 ]

0 голосов
/ 10 октября 2019

Это может помочь:

constructor(props){
          super(props);
          this.state = { expanded: 'panel0' }
          this.handleChange = this.handleChange.bind(this);
    } 
handleChange(panel){ 
      this.setState({expanded: panel===this.state.expanded?false:panel});    
};
0 голосов
/ 10 октября 2019

Если вы хотите использовать Function.prototype.bind вместо функций стрелок, вам нужно привязать обработчик событий, как показано ниже.

<button onClick={this.handleChange.bind(this, panel)}>Delete Row</button>
...
handleChange(e, panel) { 
    this.setState({
    expanded: panel,
    setExpanded: false
  });
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...