Я использую uppy с React, и они обычно инициализируют uppy как глобальную переменную. В React они позволяют сделать это вместо:
class MyComponent extends React.Component {
constructor (props) {
super(props)
this.uppy = Uppy()
.use(Transloadit, {})
}
componentWillUnmount () {
this.uppy.close()
}
render () {
return <StatusBar uppy={this.uppy} />
}
}
Как мне написать это в функциональном компоненте с хуками? Наивный подход был бы следующим (не ожидал, что это сработает после прочтения этой проблемы ):
const MyComponent = () => {
const uppy = Uppy()
.use(Transloadit, {})
useEffect(() => {
return () => uppy.close()
})
return <StatusBar uppy={uppy} />
}
PS: Это должно быть сделано внутри функционального компонента, потому что я использую некоторые реквизиты в методе uppy.use
.