¿Alguien puede decirme por qué los accesorios no están definidos? en este código, necesito pasar de esta manera para llamar a otro componente,

Mira

Soy nuevo en reaccionar, ¿alguien puede ayudarme con eso?

Código de reacción a continuación:

class ViewNotas extends Component {
  constructor(props) {
    super(props);

    this.state = {
      open: [],
      newContact: false,
      edit: [],
      loading: false,
    };

    this.handleOpen = this.handleOpen.bind(this);
    this.setNewContact = this.setNewContact.bind(this);
  }

  setNewContact(set) {
    this.setState({
      newContact: set,
    });
  }

  handleOpen(id, isOpen) {
    if (!isOpen) {
      this.setState({ open: this.state.open.concat(id) });
    } else {
      this.setState({
        open: this.state.open.filter((objectId) => id !== objectId),
      });
    }
  }

  render() {
    let data = this.props.data;

    return (
      <Modal open={this.props.open} visible={this.props.visible}>
        <SC.Container>
          <SC.Header>
            <SC.Title>Notas</SC.Title>
            <SC.ButtonPlus onClick={() => props.setNewContact(true)}>
              <GoPlus size="24px" color="#FFF" />
            </SC.ButtonPlus>
0
Paulo Rodrigues 25 jun. 2020 a las 20:07

2 respuestas

La mejor respuesta

El problema es que estás accediendo al método en los accesorios

                              /* change this  */
 <SC.ButtonPlus onClick={() => this.setNewContact(true)}>
    <GoPlus size="24px" color="#FFF" />
  </SC.ButtonPlus>

Espero que esto ayude !

0
Hemant 25 jun. 2020 a las 17:12

Esta línea

<SC.ButtonPlus onClick={() => props.setNewContact(true)}>

Debiera ser

<SC.ButtonPlus onClick={() => this.setNewContact(true)}>
2
ktowen 25 jun. 2020 a las 17:09