検索コンポーネントで特定の計算を行いたい。これを行うには、Header コンポーネントで取得した buttonSearchRefOffsetLeftValue を Search コンポーネントに渡す必要があります。ヘッダーで目的の値を取得します。ただし、検索コンポーネントでは常に未定義になります。この振る舞いが理解できません。
const Header = props => {
const buttonSearchRef = useRef(null);
let buttonSearchRefOffsetLeftValue;
useEffect(() => {
buttonSearchRefOffsetLeftValue =
ReactDOM.findDOMNode(buttonSearchRef.current).offsetLeft;
console.log(buttonSearchRefOffsetLeftValue); //got the value
})
return (
<div ref={buttonSearchRef}>He<div>
<Search buttonSearchRefOffsetLeftValue=
{buttonSearchRefOffsetLeftValue} />
)
}
const Search = (props) => {
console.log(props.buttonSearchRefOffsetLeftValue)//got undefined WHY?
}