使用案例
我有一张卡片列表,我正在尝试创建左/右滑块式滑动功能.我已经使用panResponder进行了滑动,但遇到了动画backgroundColor的问题
建立
constructor() {
super();
this.state = {
bgColor: new Animated.Value(0),
};
}
onPanResponderMove: (evt, gestureState) => {
Animated.timing(this.state.bgColor, {
toValue: 1,
duration: 100,
}).start();
}
render() {
const s = this.state;
const p = this.props;
const bgColor = s.bgColor.interpolate({
inputRange: [0, 1],
outputRange: [colors.gray.one, colors.primary.light]
})
return(
<View style={ [styles.wrapper, pushLeft(s.dx)] }>
<View {...this._panResponder.panHandlers} style={ styles.content } onLayout={ this.onLayout }>
{ this.props.children }
<View style={ [styles.overlay, { backgroundColor: bgColor } ]}/>
</View>
</View>
)
}
Run Code Online (Sandbox Code Playgroud)
错误
一旦我开始拖动卡片,我就会得到
"无法添加属性_tracking,对象不可扩展" …
我应该指出我正在使用 VSCode 作为我的 IDE
问题
如何记录 a@typedef使其成为 a 的成员@namespace?(我愿意使用@moduleJSDoc 或其他 JSDoc 标签来实现这一目标,但似乎最接近这种方法)
我正在开发一个 React 项目,并将我的域对象表示为实体
文件夹结构
- entities/
- group/
- group-actions.js
- group-model.js
- group-reducer.js
- group-selectors.js
- group-service.js
- index.js
Run Code Online (Sandbox Code Playgroud)
索引.js
import Actions from './group-actions';
import Model from './group-model';
import reducer from './group-reducer';
import Selectors from './group-selectors';
import Service from './group-service';
/**
* GroupNamespace
* @namespace Group
*/
const Group = {
Actions,
Model,
reducer,
Selectors,
Service,
};
/**
* Group
* …Run Code Online (Sandbox Code Playgroud) 是否可以将来自公共帖子的Facebook视频嵌入到react-native应用程序中?
如果可能的话,我相信我需要使用一个<WebView>组件,这是我用于其他几种类型的视频嵌入的组件,但是Facebook嵌入是不同的。我们已经在Web客户端上实现了它,但是我不确定如何在中重新创建DOM的某些特定方面react-native。
这是我成功用于其他视频类型(例如Vine,Vimeo)的解决方案,但对于FB,它仅呈现图像
<WebView source={{ uri: 'https://www.facebook.com/TheWitBible/videos/1747642252158297/' }} style={ styles.media } />
Run Code Online (Sandbox Code Playgroud)
这是文档https://developers.facebook.com/docs/plugins/embedded-video-player
这是一个FB SDK组件,但我认为它不支持此用例 https://github.com/facebook/react-native-fbsdk
在Web客户端中,有2个部分可以使其正常工作
<script>
window.fbAsyncInit = function() {
FB.init({
xfbml: true,
version: 'v2.6'
});
};
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
Run Code Online (Sandbox Code Playgroud)
.....................................
render() {
return (
<div ref={el => el && FB && FB.XFBML.parse(el)} className="fb-media-wrapper" style={{ width: this.props.width + …Run Code Online (Sandbox Code Playgroud)