小编Raj*_*jan的帖子

React Native 的 panResponder 具有来自 useState 的陈旧价值?

我需要读取useStatein的值onPanResponderMove。在页面加载时onPanResponderMove正确记录 的初始值0

然而,在我点击TouchableOpacityincrement 后fooonPanResponderMove剧照会注销,0而不是它的新值。

export default function App() {
  const [foo, setFoo] = React.useState(0);

  const panResponder = React.useRef(
    PanResponder.create({
      onStartShouldSetPanResponder: (evt, gestureState) => true,
      onStartShouldSetPanResponderCapture: (evt, gestureState) => true,
      onMoveShouldSetPanResponder: (evt, gestureState) => true,
      onMoveShouldSetPanResponderCapture: (evt, gestureState) => true,
      onPanResponderGrant: (evt, gestureState) => {},
      onPanResponderMove: (evt, gestureState) => {
        console.log(foo); // This is always 0
      },
      onPanResponderTerminationRequest: (evt, gestureState) => true,
      onPanResponderRelease: (evt, gestureState) …
Run Code Online (Sandbox Code Playgroud)

react-native

7
推荐指数
2
解决办法
1176
查看次数

使用 Angular 8 中的 param 函数动态更改 ag-grid 的 Cell 渲染器

有人可以帮我解决这个问题吗?我在 Angular 8 中使用 ag-Grid,其中有一列将单元格渲染器作为单个按钮(比如说删除按钮),但是当网格触发 cellValueChange 事件时,即当特定单元格值更改时我想要删除按钮单元格渲染器被其他单元渲染器替换。

这就是我正在做的,

columnDefs: {

    headerName: 'Delete'
    cellRenderer: (params: ICellRendererParams) => {
        return getCellRenderer(params);
    }
}

getCellRenderer(params)
{
    if (params.value.isEdit)
        return 'updateRenderer';
    else
        return 'deleteRenderer';
}
Run Code Online (Sandbox Code Playgroud)

isEdit是网格中的隐藏列,其值在事件调用时设置为 1,否则默认情况下所有行的值都为 0。

所以,这个函数应该返回渲染器。我创建了frameworkComponent,如下所示:

frameworkComponent: {
    deleteRenderer: DeleteRendererComponent,
    updateRenderer: UpdateRendererComponent
} 
Run Code Online (Sandbox Code Playgroud)

现在,当我提供 cellRenderer: 'deleteRenderer' 时,我得到了渲染的正确组件。但是当我通过函数调用它时,我只将字符串打印为deleteRenderer,而不是组件。

提前致谢,任何帮助将不胜感激。

ag-grid angular ag-grid-angular

6
推荐指数
2
解决办法
3万
查看次数

在按钮之间添加空格

我想在按钮之间添加空格,但下面是我的代码,它不起作用。我需要在代码中添加什么?

render(){
    return (
        <View>
            <Text>Home</Text>
            <Button style={styles.button}
                title='Add '
            />
            <Button style={styles.button}
                title='Search/Update'
            />
        </View>


    )
}

}

const styles = StyleSheet.create({
    button: {
        marginBottom: 20,
        padding: 30
    },
})
Run Code Online (Sandbox Code Playgroud)

react-native

6
推荐指数
2
解决办法
2万
查看次数

React Native Webview OnLoad 被调用两次

React Native webview onLoad(), onLoadStart(), onLoadEnd() 都被调用了两次

在下面找到我的代码

<WebView
  source={{
    uri,
  }}
  // eslint-disable-next-line no-return-assign
  ref={ref => (this.webview = ref)}
  startInLoadingState
  style={{ marginTop: 0, flex: 1 }}
  renderLoading={() => this.displaySpinner()}
  javaScriptEnabled
  geolocationEnabled
  injectedJavaScript={setTimeoutInjection}
  onLoad={() => this.pageLoadEnd(renderTime)}
  onLoadStart={() => {
    Alert.alert('On load event', `Loading time : ${Date.now() - renderTime}`)
  }}
  onLoadEnd={() => {
    Alert.alert('On load event End', `Loading time : ${Date.now() - renderTime}`)
  }}
  sharedCookiesEnabled
  useWebKit
  onNavigationStateChange={this._onNavigationStateChange.bind(this)}
/>
Run Code Online (Sandbox Code Playgroud)

我应该更改什么以便 onload() 事件仅被调用一次?

webview onload-event react-native

5
推荐指数
1
解决办法
4151
查看次数

以虚线样式响应本机顶部和底部边框

我正在尝试仅使用“虚线”样式为顶部和底部视图应用边框。但 borderStyle 不适用于 borderTopWidth 和 borderBottomWidth。这是工作,

<View
  style={{
    backgroundColor: 'white',
    borderRadius: 10,
    marginHorizontal: 20,
    padding: 16,
    borderStyle: 'dashed',
    borderColor: 'red',
    borderWidth: 1
  }}>{...content...}</View>
Run Code Online (Sandbox Code Playgroud)

这是行不通的,

<View
  style={{
    backgroundColor: 'white',
    borderRadius: 10,
    marginHorizontal: 20,
    padding: 16,
    borderStyle: 'dashed',
    borderBottomColor: 'red',
    borderBottomWidth: 1,
    borderTopColor: 'red',
    borderTopWidth: 1,
  }}>{...content...}</View>
Run Code Online (Sandbox Code Playgroud)

有什么不同的方法来实现这种风格吗?

stylesheet react-native

0
推荐指数
1
解决办法
1万
查看次数

React Navigation - this.props.navigation.state 未定义

使用:“@react-navigation/drawer”:“^5.4.0”,“@react-navigation/native”:“^5.1.4”,

应用程序.js:

    import { createDrawerNavigator } from '@react-navigation/drawer';
    ...
    const Drawer = createDrawerNavigator();
    const DrawerRender = () => {
    return (
      <NavigationContainer>
        <Drawer.Navigator drawerContent={props => <DrawerContent {...props} />}>
          <Drawer.Screen name="Home" component={Home} />
          <Drawer.Screen name="Screen1" component={Screen1} options={{unmountOnBlur: true, gestureEnabled: false}} />
          <Drawer.Screen name="Screen2" component={Screen2} options={{unmountOnBlur: true, gestureEnabled: false}} />
        </Drawer.Navigator>
      </NavigationContainer>
    );}
Run Code Online (Sandbox Code Playgroud)

从屏幕 1:

    navigateToPage = page_id => {
      this.closeCommentScreen();
      this.reopenModal = true;
      this.props.navigation.navigate('Screen2', {'page_id': 'testing'});
    }
Run Code Online (Sandbox Code Playgroud)

在屏幕 2 上:

    export default class Screen2 extends React.Component {

    constructor(props) {
       super(props);
    } …
Run Code Online (Sandbox Code Playgroud)

react-native react-native-ios react-navigation

0
推荐指数
1
解决办法
4512
查看次数