即使單擊 - ÷ * ,我也無法理解為什么會收到錯誤訊息(默認情況)?是不是應該像我在switch case中定義的那樣設定狀態?我認為它會設定狀態
這是我的代碼,請告訴我我做錯了什么??
class App extends React.Component {
constructor(props){
super(props);
this.state={
num:[],
sign:"",
res:0
}
this.handleclick=this.handleclick.bind(this);
this.handelAssign=this.handelAssign.bind(this);
}
handleclick(ele) {
this.setState({ num: [...this.state.num, ele] });
this.handelAssign(ele);
};
handelAssign = (operator) => {
/**operatior could be - * ÷ */
switch (operator) {
case operator === " ":
this.setState({ operator: " " });
break;
case operator === "-":
this.setState({ operator: "-" });
break;
case operator === '*':
this.setState({ operator: "*" });
break;
case operator === "÷":
this.setState({ operator: "/" });
break;
default:
throw new Error('sorry you must enter a valid operator')
}};
render() {
const buttons = ["÷", 1, 2, 3, "*", 4, 5, 6," ", 7, 8, 9, ".", 0, "-"];
let allbuttons="";
return (
<div className="calculation-grid">
<div className="output">
<div className="previous-operand">{this.state.num}</div>
<div className="current-operand"></div>
</div>
<button className="span-two">AC</button>
<button>DEL</button>
{allbuttons=buttons.map((ele)=><button onClick={()=>this.handleclick(ele) } key={ele}>{ele}</button>)}
<button className="span-two">=</button>
</div>
);
}
}
uj5u.com熱心網友回復:
你可以試試這個:
handelAssign = (operator) => {
/**operatior could be - * ÷ */
switch (operator) {
case " ":
this.setState({ operator: " " });
break;
case "-":
this.setState({ operator: "-" });
break;
case '*':
this.setState({ operator: "*" });
break;
case "÷":
this.setState({ operator: "/" });
break;
default:
throw new Error('sorry you must enter a valid operator')
}};
uj5u.com熱心網友回復:
嘗試從 swtich 案例中洗掉條件
handelAssign = (operator) => {
/**operatior could be - * ÷ */
switch (operator) {
case " ":
this.setState({ operator: " " });
break;
case "-":
this.setState({ operator: "-" });
break;
case "*":
this.setState({ operator: "*" });
break;
case "÷":
this.setState({ operator: "/" });
break;
default:
throw new Error('sorry you must enter a valid operator')
}};
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/438303.html
上一篇:C:為什么將void函式轉換為“指向函式的指標回傳指向指標的指標”是可能的
下一篇:從函式回傳值
