こんにちは、
現在、各セルに入力チェックボックスを含むグリッドを読み込もうとしています。
チェックボックスをクリックするたびに、親コンポーネントに状態を設定するonChangeの関数を呼び出します。
チェックボックス/ setStateをクリックするたびに、グリッドはグリッドの上部に再レンダリングされます。
チェックボックスをクリックした正確な位置に戻る方法、またはどういうわけかFixedSizeGridを再レンダリングしない方法はありますか?
また、新しい小道具を渡している間?
initialScrollTopがあることは知っていますが、チェックボックスを選択した場所の正確な前の場所を計算できません。
手伝ってくれてありがとうございます!
(以下にコードスニペットを含めました)
`` `const Cell =({data、columnIndex、rowIndex、style})=> {
const {list、list2、selectInput} = data;
戻る(
const例=()=> {
戻る(
columnWidth = {190}
高さ= {600}
rowCount = {Math.ceil(trueCoverList.length / 4)}
rowHeight = {250}
width = {760}
>>
{細胞}
);
}
(コードサンドボックスで)完全な再現を共有できますか? スニペットから再作成する時間が本当にありません。
ああ。 renderメソッド内でコンポーネント(関数)を作成しています。 外部コンポーネントが再レンダリングされると、内部タイプが再作成され、Reactがアンマウントおよび再マウントされるため、これは実際には機能しません。
また、状態が変更されたときにグリッドセルが再レンダリングされるように、状態をitemData
として渡す必要があります。
最も参考になるコメント
ああ。 renderメソッド内でコンポーネント(関数)を作成しています。 外部コンポーネントが再レンダリングされると、内部タイプが再作成され、Reactがアンマウントおよび再マウントされるため、これは実際には機能しません。
また、状態が変更されたときにグリッドセルが再レンダリングされるように、状態を
itemData
として渡す必要があります。どうぞ:
https://codesandbox.io/embed/mznznkv0q8