javascript - 通过按钮输出名称

标签 javascript reactjs

我有一个 div,应通过按按钮来显示名称。下面的两个按钮,如果单击第一个,则应显示约翰的名字,如果单击第二个按钮,则应显示唐纳德。哪里错了?

import React, { Component } from 'react';


class trueName extends Component {
  constructor(props) {
    this.state = {
      name: {},
    };
  }

  john = ()=>{
    const {name}= this.state;
    this.setState({name:"John"})
  }

  donald = ()=>{
    const {name}= this.state;
    this.setState({name:"Donald"})
  }

render() {
    return(
      <div >
        <div className="SelectName">
          <span>{this.name}</span>
        </div>

        <button
        className = "one"
        onClick={ this.john}>
          <span>My name John</span>
        </button>

        <button
        className = "two"
        onClick={ this.donald}
        >
          <span>My name Donald</span>
        </button>
      </div>

    )
  }
}

export default trueName;

最佳答案

正如其他人提到的,您需要将值设置为字符串。

而且,当您显示该值时,会出现错误。您正在寻找 this.name,而您想要显示的是 this.state.name

关于javascript - 通过按钮输出名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55854044/

相关文章:

javascript - html2canvas 不读取内联背景颜色样式

javascript - jquery - 对任何事件执行效果

javascript - 在 js 文件上运行 casperjs 时“找不到模块 fs”

javascript - 使用 Next routes 捕捉所有

javascript - enzyme 测试认证高阶组件(HOC)

javascript - 为什么会出现这个 "Uncaught ReferenceError: tempo is not defined"错误?

javascript - 如何仅使用 {{ }} 获取 Angular 1 中的当前年份?

javascript - 这是反模式吗 - Reactjs

javascript - onBlur 在 React 下拉组件中不起作用

javascript - react 变化检测