Вы можете использовать React.Context
Попробуйте следующий код:
import React from "react";
import ReactDOM from "react-dom";
import "./styles.css";
const FormContext = React.createContext("FormContext");
function Form(props) {
console.log(props);
return <form />;
}
class SomethingElse extends React.Component {
static contextType = FormContext;
render() {
return <Form values={this.context} />;
}
}
const SomethingInTheMiddle = props => {
return <SomethingElse />;
};
class Example extends React.Component {
state = {
a: 1,
b: 2,
c: 3
};
render() {
return (
<FormContext.Provider value={this.state}>
<SomethingInTheMiddle />
</FormContext.Provider>
);
}
}
function App() {
return (
<div className="App">
<Example />
</div>
);
}
const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);
Проверьте больше: https://reactjs.org/docs/context.html