【发布时间】:2019-12-11 17:04:28
【问题描述】:
我想创建一个组件,比如说一个日历功能组件,它可以公开一些功能,如nextMonth、prevMonth 等。这样使用它的父组件就可以使用ref 访问这些功能。使用类组件很容易,因为实例方法会自动公开。如何使用功能组件实现相同的功能?我知道我可以为此使用渲染道具模式。但是还有其他解决方案吗?
粗略的例子:
function Calendar() {
const nextMonth = () => {...}
const prevMonth = () => {...}
return (
<div>.....</div>
)
}
function Parent() {
const cal = createRef();
const onNext = () => {
cal.current.nextMonth();
}
return (
<>
<Calendar ref={cal} />
<button onClick={onNext}>Next</button>
</>
)
}
【问题讨论】:
-
试试
createRef而不是useRef
标签: reactjs react-native