如何在React Native中从父级调用子级组件中的方法?我本质上想要做的是模拟componentDidMount()
对功能组件中的类组件所做的事情。
我一直收到错误消息“无法给功能组件提供引用”,我可能想使用React.ForwardRef()
。
ps。 idk我将如何重新格式化儿童观察者,原谅格式错误
class Dashboard extends Component {
constructor(props) {
super(props);
this.load = React.createRef();
componentDidMount() {
this.load.current.loadAudio();
}
render(){
latestEP.query = ref => ref.orderBy("id", "desc").limit(1);
return(
{latestEP.docs.map(doc => (
<DashboardItem key={doc.id} doc={doc} ref={this.load} />
))}
)
}
}
const DashboardItem = observer(({ doc }) => {
function loadAudio(){
return console.log("works")}
return (// stuff that requires loadAudio to run first)
})
答案 0 :(得分:0)
错误“函数组件不能被提供给引用”应该是不言自明的:您需要将DashItem
更改为类组件而不是功能组件。
答案 1 :(得分:0)
您可以使用Lorem ipsum - dolor sit
amet consetetur sadipscing - elitr sed
diam nonumy
挂钩来实现。请检查一下:
https://reactjs.org/docs/hooks-reference.html#useimperativehandle
在useImperativeHandle
中包装DashItem
并实现forwardRef
钩子,如下所示:
useImperativeHandle