This is probably very trivial but Im looking for a proper answer:
Why is someRef available in useEffect, but its null in Child body?
How is it possible?
Especially when the component do not re-render. It looks like useEffect is kind of an abstract layer over component? It sounds ridiculous
const { useState, useRef } = React;
const Child = ({ someRef }) => {
console.log('body', someRef);
React.useEffect(() => {
console.log('hiya', someRef);
}, [someRef]);
console.log('body', someRef);
return null;
}
const App = () => {
const someRef = useRef(null);
return (
<div>
<div ref={someRef}>text1</div>
<Child someRef={someRef} />
</div>
);
};
ReactDOM.render(<App />, document.getElementById("root"));
<script src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
<div id="root"></div>