2

React-Native 用のモジュールの作成に取り組んでいます。

モジュールは、DB に保存されている構成に基づいて、画面上の特定の要素を強調表示または指摘する必要があります。

Android では、データベースはビュー ID で構成され、コードはそれらのビュー ID を強調表示します。

HTML では、要素 ID で十分です。

React ネイティブで一意の識別子を定義するにはどうすればよいですか。

これらはデータベースに保存され、リアルタイムで強調表示されます。したがって、モジュールは実行時に要素の x、y、幅、高さにアクセスする必要があります。

HTML では、getElementbyId() を使用して、その属性の取得に進みます。React Nativeで同等のものは何でしょう。

これは機能します-

this.userNameRef.measure((width,height,fx,fy,px,py)=>{
        console.log(fx)
        console.log(fy)
})

userNameRef が文字列パラメーターとして受信された場合、このデータを取得するにはどうすればよいですか

4

2 に答える 2

1

まず、React Native 内の選択は Web とは異なります。

要素を直接選択するのではなく、要素の小道具を通じて参照を取得する必要があります。

React Native のすべての要素には ref と呼ばれるプロップがあり、そのコンポーネントに関するすべての情報にアクセスでき、メソッドを呼び出してプロパティ値を取得できます。

クラス コンポーネントを使用した例:

class MyComponent extends React.Component {

onEndLoadImage = () => {
    console.log(this.flatlist.current); // here have all methods and properties of Image
}

render() {
    return (
        <Image
            ref={element => this.flatlist = element}
            onLoadEnd={onEndLoadImage}
            ...
        />
    );
}

}

フック付きの機能コンポーネントを使用した例:

function MyComponent {
const imageRef = useRef(null);

const onEndLoadImage = () => {
    console.log(imageRef.current); // here have all methods and properties of Image
}

return (
    <Image
        ref={imageRef}
        onLoadEnd={onEndLoadImage}
        ...
    />
);

}

于 2020-08-29T15:51:43.837 に答える