React-Native での props の使用方法の詳細な説明

巴扎黑
リリース: 2017-09-05 10:48:47
オリジナル
1647 人が閲覧しました

この記事ではReact-Nativeにおけるpropsの詳しい使い方を中心に紹介していますが、編集者がとても良いと思ったので、参考にさせていただきます。エディターに従って、プロパティを見てみましょう。プロパティは、コンポーネントの特性を記述するために存在します。親コンポーネントから子コンポーネントに渡されます。

前のページで渡された props を使用します

新しい PropsTest.js ファイルを作成します

exprot default class PropsTestextendesComponent{
  render(){
    return <Text>{this.props.name}</Text>
  }
}
ログイン後にコピー

前のページの PropsTest コンポーネントを使用します


import PropsTest from &#39;./PropsTest&#39;

<PropsTest 
  name = &#39;XiaoMing&#39;
/>
ログイン後にコピー

注: 上記のコードはすべてコードです切れ端 。


デフォルトの属性とその機能

props 属性はすべて前のページから渡されるため、変更することはできません。ただし、PropsTest ファイルで props のいくつかのデフォルト値を定義できます。

exprot default class PropsTestextends Component{
  static defaultProps={
    name: &#39;XiaoHong&#39;
  }
  render(){
    return <Text>{this.props.name}</Text>
  }
}
ログイン後にコピー

defaultProps は静的変更のために static キーワードを使用する必要があることに注意してください。このように、前のページで値が渡されなかった場合は、デフォルトの属性が表示されます。


props の制約とチェック

exprot default class PropsTestextends Component{
  static defaultProps={
    name: &#39;XiaoHong&#39;
  }
  static propTypes={
    name: PropTypes.string,
    age: PropTypes.number,
    sex: PropTypes.string.isRequired
  }
  render(){
    return <Text>{this.props.name}</Text>
  }
}
ログイン後にコピー

props の属性のタイプを決定するには、propTypes を使用できます。また、それを変更するには static キーワードを使用する必要があります。


isRequired は必須項目を指定できます

注:

propTypes 属性は React パッケージに含まれており、使用する前にインポートする必要があります。

プロパティストレッチ演算子

ES6の最新構文コンポーネントに多くのプロパティが必要な場合は、次のようになります:

params = {name: &#39;XiaoZhang&#39;, age: 18, sex: &#39;男&#39;}

// 如果需要传递给下一个页面需要:
<PropsTest
  name = {params.name}
  sex = {params.sex}
  age = {params.age}
/>
// 等等,这样如果属性特别多,代码将会变得难以维护。
ログイン後にコピー

ES6の最新のストレッチ演算子機能を使用できます


<PropsTest
  {...params}
/>
ログイン後にコピー

非常にシンプル


代入の構造化

ES6の最新構文別のコンポーネントで拡張演算子を介して渡されたオブジェクトの一部を取得して使用したい場合は、代入の構造化

を使用できます

以上がReact-Native での props の使用方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート