我想將道具傳遞給我的反應(yīng)組件并具有一個(gè)功能,我可以在粗體和正常之間切換跨度的字體粗細(xì)。我的反應(yīng)組件:ReactDOM.render( <div> <FontChooser min='4' max='40' size='16' text='Fun with React!' bold='false'/> </div>,document.getElementById('container'));我正在嘗試將bold = 'false'道具傳遞給組件的初始狀態(tài),如下所示:class FontChooser extends React.Component { constructor(props) { super(props); this.state = { hidden: true, bold: this.props.bold, size: 16 } }然后我有這個(gè)功能toggleBold() { this.setState ({ bold: !this.state.bold }); }它應(yīng)該呈現(xiàn):render() { var weight = this.state.bold ? 'bold':'normal'; return( <div> <input type="checkbox" id="boldCheckbox" onChange={this.toggleBold.bind(this)} <span id="textSpan" style ={{fontWeight: weight, fontSize: this.state.size }}>. {this.props.text}</span> </div>我的問題是應(yīng)該返回false,但三元運(yùn)算符執(zhí)行“粗體”,只有在為真this.props.bold時(shí)才應(yīng)該執(zhí)行。this.props.bold似乎它被this.props.bold視為真實(shí)值而不是虛假值,即使它在組件屬性中設(shè)置為 false。那么this.props當(dāng)我們將它傳遞給組件狀態(tài)時(shí)總是返回一個(gè)真實(shí)值嗎?即使它在組件道具定義中設(shè)置為“假”?
當(dāng)傳遞給組件狀態(tài)時(shí),`this.props` 是否總是返回一個(gè)真實(shí)值?
長(zhǎng)風(fēng)秋雁
2022-10-13 16:05:43