問題タブ [react-ref]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
reactjs - React.JS Ref の Ref エラー - createRef、useRef、および Refs の使用
ref
Reactを使用してプロパティを使用しようとしています。ブラウザに奇妙なエラーが表示され、何が問題なのかわかりません。このエラーが発生する理由を誰かに説明してもらえますか:
エラー: 不変違反: addComponentAsRefTo(...): ReactOwner のみが参照を持つことができます。これは通常、所有者を持たない (つまり、別のコンポーネントの
render
メソッド内で作成されていない) コンポーネントに ref を追加しようとしていることを意味します。ref を保持する新しい最上位コンポーネント内でこのコンポーネントをレンダリングしてみてください。
このコードがある場合:
javascript - this.refs.something は「未定義」を返します
定義された要素があり、ref
最終的にページにレンダリングされます:
などのDOM要素のプロパティにアクセスしたいoffset...
。しかし、私は取得し続けてundefined
おり、その理由がまったくわかりません。いくつかの検索の後refs
、1 つのファイルにのみ適用されることは明らかですが、この 1 つのページ以外では使用していません。私はそれを記録するためにこれを言っています:
console.log('REFS', this.refs.russian);
何が原因でしょうか?
react-native - Flatlist で React-Native を一番上にスクロール
フラットリストの一番上までスクロールするのに苦労しているので、助けていただければ幸いです。
基本的に、firebase から最初の 5 項目を取得し、onEndReached が呼び出されると、次の 5 項目をリストに追加します。
今のところ、ビューの上部に次のことを行う更新ボタンがあります。
最初の 5 つの項目がレンダリングされたときにこれをクリックすると、期待どおりにリストの一番上までスクロールします。この問題は、リストが追加された後にのみ発生します (アイテムが表示されていないと思いますか?)。
「ScrollToItem」も試しましたが、React Native docs の次の理由により、これは機能しないと思います。
注: getItemLayout prop を指定しないと、レンダリング ウィンドウの外側の場所にスクロールすることはできません。
誰が何が起こっているのか説明したり、私が間違っていることを知ったりできますか?
前もって感謝します!
getItemLayout: (これが何をするのか、長さやオフセットなどをどのように計算するのか完全にはわかりません)
reactjs - React TypeScript:c => (this.c = c)を使用して参照を作成する方法は?
注:以前にこの質問をしました。その質問をこの質問の重複としてマークしました。しかし、私の場合、参照は次のように作成されるという点で異なります。
そして、提案された元の質問では、次のようになります。
提案されたオリジナルの答えは、次のようにすることでした。
しかし、私はできません:
エラーが発生するため:
これが言われているので、ここに質問があります:
TypeScript を使用して React アプリを構築しています。React-Slick のカルーセルを使用しています。
カルーセルのスライドをプログラムで変更しようとしています。したがって、ドキュメントに従って、Slider の参照を作成しようとしました。
TypeScript は、スライダーを認識していないと文句を言います。そこで、次のように宣言してみました。
このように試してみると、エラーが発生します。
TypeScriptでrefを機能させるにはどうすればよいですか?
私が見つけた唯一の方法は、次のように言うことでした:
これは TypeScript の目的を無効にします。