【发布时间】:2022-01-23 15:25:18
【问题描述】:
import React, { Component } from 'react';
class ButtonStatus1 extends Component {
constructor(props){
super(props);
this.state = {
a: "false",
b: false
}
}
render(){
return (
<div>
<h1>a: {this.state.a}, b: {this.state.b}</h1>
</div>
);
}
}
export default ButtonStatus1;
输出:
预期:
假的,假的
据我所知,字符串插值将始终以字符串的形式输出,无论输入是什么。因此,在这种情况下,即使 this.state.b 是布尔值 - false,也应该打印输出。如果该值存在 - 只是因为它是布尔值,为什么不打印它。这不奇怪吗??
【问题讨论】:
-
stackoverflow.com/questions/38337262/… 可能重复?我认为 React 不会将值强制转换为字符串。这里并不是严格意义上的字符串插值,而是 React 在
{}内部执行一个表达式。 -
您是否尝试过添加 .toString() 方法?应该使用 this.state.a.toString() 正确打印值。
标签: javascript reactjs react-native react-hooks