目标:创建一个可重复使用的OptionFan组件,允许子项作为ChildButton组件。 问题:无法访问ChildButton的方法" flyOut()"在OptionFan(父)组件方法" showOptions()"
中 选项风扇组件中的:
showOptions = () => {
let animations = this.props.children.map((child, i) => {
this.refs.child.flyOut();
});
Animated.stagger(this.props.staggerDelay, animations).start();
}
renderOptions = () => {
return this.props.children.map((child, i) => {
return <ChildButton ref={child} siblings={this.props.children.length} key={i} icon={} number={i} size={} />
})
}
在ChildButton组件中:
componentDidMount() {
this.props.ref(this);
}
flyOut = () => {
const {number, size} = this.state;
let offset = this.findChildCoordinates(number);
Animated.timing(
this.state.move,
{toValue: offset}
).start();
}
在代码建议中无法访问所需的方法, 我的做法有什么不对?