我正在使用 react-native-ui-kitten 中的 RkSwitch 组件。该软件包只是我可以使用的一堆 ui 组件。
开发人员不再支持该组件,并且我的 RkSwitch 组件无法按预期工作。
我的问题是RkSwitch
's onValueChange 没有做任何事情。
android <- 的渲染功能不起作用。(问题)
iOS 的渲染功能<- 尚未测试,但我认为它应该可以工作。
我打电话给 RkSwitch。由于 RkSwitch 是 react native 的封装类 <Animated.View>
,所以不能传递 onValueChange。
<RkSwitch
style={styles.switch}
value={this.state.onlyMe}
name="Push"
onValueChange={
(onlyMe) => {
console.log('helloworld'); // it can't print helloworld
}
}
/>
这是 RkSwitch 的实际代码。(这是安卓版本)。 文档链接
_onPanResponderRelease = (evt, gestureState) => {
let {toggleable} = this.state;
let {disabled, onValueChange} = this.props;
if (toggleable && !disabled) {
if (onValueChange) { // calls onValueChange and..?
this.toggleSwitch(onValueChange) // call toggle switch
}
}
};
toggleSwitch = (result, callback = () => null) => {
let {value, switchAnimation} = this.state;
let toValue = !value;
this.animateHandler(this.handlerSize);
this.animateSwitch(toValue, () => {
callback(toValue);
this.setState({
value: toValue,
left: toValue ? onLeftValue : offLeftValue
});
switchAnimation.setValue(toValue ? -1 : 1)
})
似乎他们正在处理 onValueChange 道具,但它不起作用。有没有好的 Javascript 或 React 专家???