javascript - onClick 不会呈现新的 react 组件。

标签 javascript reactjs

我是 React 世界的新手,我有这样一行:

<Button onClick={() => console.log("hello")}>Button</Button>

点击后您将在控制台上打印hello。现在将行更改为:

<Button onClick={() => <NewComponent />}>Button</Button>

现在单击按钮,我希望呈现 NewComponent。但事实并非如此。

我不确定,为什么会这样。请注意,我在 render 方法中有上述代码。

最佳答案

您可能希望有一个有状态组件,在单击按钮后在按钮旁边显示另一个组件。您需要做的就是跟踪按钮是否被点击:

class MyComponent extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      showComponent: false,
    };
    this._onButtonClick = this._onButtonClick.bind(this);
  }

  _onButtonClick() {
    this.setState({
      showComponent: true,
    });
  }

  render() {
    return (
      <div>
        <Button onClick={this._onButtonClick}>Button</Button>
        {this.state.showComponent ?
           <NewComponent /> :
           null
        }
      </div>
    );
  }
}

关于javascript - onClick 不会呈现新的 react 组件。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33840150/

相关文章:

javascript - 如何在 JavaScript 中获取两个自定义 html 标签之间的文本?

javascript - React-Slick 不适用于 React 中的首次渲染

javascript - 带有 "this"关键字的 React 类行为

javascript - 元素类型无效 : expected a string & search input not filtering

javascript - 使用 Javascript 以编程方式访问 HTML 属性

javascript - 制作一个为任何函数添加延迟回调的函数?

javascript - 如何使用jquery keyup方法设置时间?

javascript - 在node.js ES6中,是否可以传入一个类型然后实例化它?

javascript - react 列表项中的条件渲染

javascript - 如何过滤数组?