【发布时间】:2019-07-06 12:19:17
【问题描述】:
我正在尝试运行一个简单的应用程序,该应用程序将我一生中得到的不同昵称呈现在一个数组中。
我总共有两个组件,作为子按钮的 pushMe 组件和作为父按钮的 nameFinder。我正在尝试将 display() 方法作为 onClick 事件传递给我的 pushMe 按钮组件,但该按钮不会呈现任何结果。我正在努力弄清楚我错过了什么。
import React from "react";
import ReactDOM from "react-dom";
import "./styles.css";
import { PushMe } from "../components/PushMe";
class MyName extends React.Component {
display() {
//This will keep constant range from 1-10.
var pickNickname = Math.floor(Math.random() * 11);
let alias = ["Terrence", "T", "TT", "Trey"];
let name;
//This conditional statement will decide the name by determining a number from a variable.
if (pickNickname <= 5) {
name = <h1>Today, my name is {alias[0]}</h1>;
} else if ((pickNickname = 6 || 7)) {
name = <h1> Today, my name is {alias[1]}</h1>;
} else if ((pickNickname = 8)) {
name = <h1> Today, my name is {alias[2]}</h1>;
} else {
name = <h1> Today, my name is {alias[3]}</h1>;
}
}
render() {
return (
<div className="myNameApp">
<PushMe display={this.display} />
</div>
);
}
}
ReactDOM.render(<MyName />, document.getElementById("root"));
import React from "react";
export class PushMe extends React.Component {
render() {
return <button onClick={this.props.display}> Push Me </button>;
}
}
【问题讨论】:
-
你对我有什么期待?您的显示功能正在运行,它应该正确设置名称,但是您实际上并没有对
name做任何事情吗? -
这就是我遇到麻烦的地方。我希望 name 变量成为条件语句的选定结果。所以当按钮被按下时,它会显示
标题元素。
标签: javascript reactjs components