Есть несколько способов получить функцию и переменную из родительского компонента:
1. С использованием пропсов:
- В родительском компоненте передайте функцию и переменную в дочерний компонент через пропсы. Например:
```jsx
// Родительский компонент
import React, { useState } from 'react';
import ChildComponent from './ChildComponent';
function ParentComponent() {
const [uploading, setUploading] = useState(false);
const isAllUploading = () => {
// Ваша логика
};
return (
<ChildComponent isAllUploading={isAllUploading} uploading={uploading} />
);
}
export default ParentComponent;
```
```jsx
// Дочерний компонент
import React from 'react';
function ChildComponent({ isAllUploading, uploading }) {
// Работа с isAllUploading и uploading
return <div>Дочерний компонент</div>;
}
export default ChildComponent;
```
2. С использованием контекста:
- В родительском компоненте создайте контекст и оберните дочерний компонент в провайдер контекста. Например:
```jsx
// Родительский компонент
import React, { useState, createContext } from 'react';
import ChildComponent from './ChildComponent';
export const MyContext = createContext();
function ParentComponent() {
const [uploading, setUploading] = useState(false);
const isAllUploading = () => {
// Ваша логика
};
return (
<MyContext.Provider value={{ isAllUploading, uploading }}>
<ChildComponent />
</MyContext.Provider>
);
}
export default ParentComponent;
```
```jsx
// Дочерний компонент
import React, { useContext } from 'react';
import { MyContext } from './ParentComponent';
function ChildComponent() {
const { isAllUploading, uploading } = useContext(MyContext);
// Работа с isAllUploading и uploading
return <div>Дочерний компонент</div>;
}
export default ChildComponent;
```
Выберите подход, который лучше подходит для вашей ситуации, в зависимости от структуры вашего приложения и потребностей.