6-React 組件之屬性默認(rèn)值

React.js

[TOC]

默認(rèn)屬性值

defaultProps 靜態(tài)屬性

<u>defaultProps</u> 可以為 <u>Class</u> 組件添加默認(rèn) <u>props</u>。這一般用于 <u>props</u> 未賦值,但又不能為 null 的情況

<span style="color:red">注意:<u>defaultProps</u> 是 <u>Class</u> 的屬性,也就是靜態(tài)屬性,不是組件實(shí)例對(duì)象的屬性</span>

class MyComponent extends React.Component {
    constructor(props) {
        super(props);
    }

    render() {
        return(
            <div>
                <h2>MyComponent - {this.props.max}</h2>
            </div>
        );
    }
}

MyComponent.defaultProps = {
    max: 10
}

ReactDOM.render(
    <MyComponent />,
    document.getElementById('app')
);
基于 <u>static</u> 的寫法
class MyComponent extends React.Component {
    static defaultProps = {
        max: 10
    }
    constructor(props) {
        super(props);
    }

    render() {
        return(
            <div>
                <h2>MyComponent - {this.props.max}</h2>
            </div>
        );
    }
}

ReactDOM.render(
    <MyComponent />,
    document.getElementById('app')
);

非受控組件默認(rèn)值

有的時(shí)候,我們希望給一個(gè)非受控組件一個(gè)初始值,但是又不希望它后續(xù)通過 <u>React.js</u> 來綁定更新,這個(gè)時(shí)候我們就可以通過 <u>defaultValue</u> 或者 <u>defaultChecked</u> 來設(shè)置非受控組件的默認(rèn)值

defaultValue 屬性

<input type="text" defaultValue={this.state.v1} />

defaultChecked 屬性

<input type="checkbox" defaultChecked={this.state.v2}  />
<input type="checkbox" defaultChecked={this.state.v3}  />
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容