Лучший способ передать функцию как реквизит в Reactjs - PullRequest
0 голосов
/ 14 июля 2020

У меня есть два компонента A и B. Компонент A имеет ограничение на функцию кнопки в зависимости от условий, я хочу, чтобы кнопка компонента B использовала функцию ограничения в компоненте A

//Component A

state = {
  disabled = true,
  password='Admin'
}

authorize = (e) => {
  var passcode = 1234
  if (passcode == this.state.password) {
    this.setState({ disabled: false })
  } else {
    alert("Access code is incorrect please enter the correct access code")
  }

}
render() {
  return (
    <div>
      <form>
        <input
          style={{ width: 200 }}
          placeholder="Enter Admin Access code "
          onChange={(e) => this.setState({ password: e.target.value })}
        />
        <Button bsStyle='primary' onClick={(e) => this.authorize(e)}> Enter</Button>
      </form>
      // Button disabled waiting for authorize function to be called
      <Button disabled={this.state.disabled} >I am disabled</Button>

    </div>
  );
}

Компонент B

render() {
  return (
    // want to be able to do something like
    <Button disabled={this.props.disabled}>I am disabled too</Button>
  );
}

Я хочу использовать функцию авторизации в Компоненте B, но не знаю, как

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...