今回は React の props と state 属性の使用方法について詳しく説明します。 React の props と state 属性を使用する際の 注意事項 とは何ですか。実際のケースを見てみましょう。
小道具
次のような XML タグの属性をまだ覚えているかどうかはわかりません:<class id="1"> <student id="1">John Kindem</student> <student id="2">Alick Ice</student> </class>
// 假设我们已经自定义了一个叫Hello的组件 ReactDom.render( <Hello firstName={'John'} lastName={'Kindem'}/>, document.getElementById('root') );
class Hello extends React.Component { constructor(props) { super(props); } render() { return ( <p> <h1>Hello, {this.props.firstName + ' ' + this.props.lastName}</h1> </p> ); } } ReactDom.render( <Hello firstName={'John'} lastName={'Kindem'}/>, document.getElementById('root') );
コンストラクター を上書きし、 を呼び出すための props 値を受け入れることを忘れないでください。親クラスのコンストラクター。
もちろん、以下に示すように、props にデフォルト値を設定することもできます:class Hello extends React.Component { constructor(props) { super(props); } static defaultProps = { firstName: 'John', lastName: 'Kindem' }; render() { return ( <p> <h1>Hello, {this.props.firstName + ' ' + this.props.lastName}</h1> </p> ); } } ReactDom.render( <Hello/>, document.getElementById('root') );
import React from 'react'; import ReactDom from 'react-dom'; class Time extends React.Component { constructor(props) { super(props); // 初始化state this.state = { hour: 0, minute: 0, second: 0 } } componentDidMount() { this.interval = setInterval(() => this.tick(), 1000); } componentWillUnmount() { clearInterval(this.interval); } tick() { // 计算新时间 let newSecond, newMinute, newHour; let carryMinute = 0, carryHour = 0; newSecond = this.state.second + 1; if (newSecond > 59) { carryMinute = 1; newSecond -= 60; } newMinute = this.state.minute + carryMinute; if (newMinute > 59) { carryHour = 1; newMinute -= 60; } newHour = this.state.hour + carryHour; if (newHour > 59) newHour -= 60; // 设置新状态 this.setState({ hour: newHour, minute: newMinute, second: newSecond }); } render() { return ( <p> <h1>current time: {this.state.hour + ':' + this.state.minute + ':' + this.state.second}</h1> </p> ); } } ReactDom.render( <Time/>, document.getElementById('root') );
constructor(props) { super(props); // 在这初始化state this.state = { ... } }
this.setState({ ... });
タイマー
をクリアする必要があります。これは非常に簡単です。ただし、React には状態更新の頻度に上限があります。この上限を超えると、高頻度の関数で setState を使用しないように注意する必要があります。
この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。 推奨読書:angular6.0はコンポーネントの遅延読み込み機能を実装します(コード付き)
AJAXを介したjQueryエンコード変換base64アップロード
以上がReact props と state 属性の使用方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。