小编phe*_*non的帖子

React:通过 HOC 注入 props 而不为它们声明类型

我正在尝试connect()在 react-redux 绑定中做一些事情。这是我在组件中注入 props 的 HOC:

export function withAdditionalProps<T, I>(
  injectedProps: I,
  WrappedComponent: React.ComponentType<T>,
): React.ComponentType<Omit<T, keyof I>> { ... }
Run Code Online (Sandbox Code Playgroud)

如果我声明注入的 props 类型(I泛型类型),它可以正常工作,但是如果我想在不声明这些类型的情况下执行 HOC(即时省略注入的 props 键),该怎么办。如何从传递的道具中确定键?例如,我尝试过这样的事情:

export function withAdditionalProps<T>(
  injectedProps: { [key: string]: unknown },
  WrappedComponent: React.ComponentType<T>,
): React.ComponentType<Omit<T, keyof typeof injectedProps>> { ... }

const InjectedComponent = withAdditionalProps<AppState>(
  {
     counter: 0
  },
  (props) => (<div>{props.counter}</div>)
);

Run Code Online (Sandbox Code Playgroud)

但它工作不正确:编译器在渲染组件时抛出错误。看截图(testProp是一个组件的“原生”prop) 问题 也许任何人都可以帮助我。

typescript reactjs

7
推荐指数
1
解决办法
355
查看次数

如果某些参数相等,如何对对象参数进行排序

我有ArrayList一些包含3个参数(id,name,salary)的对象.未排序列表:

public class Employee {
        private int id;
        private String name;
        private double salary;

        public Employee(int _id, String _name, double _salary) {
            this.id = _id;
            this.name = _name;
            this.salary = _salary;
        }

        public int getEmployeeID () {
            return this.id;
        }


        public String getEmployeeName () {
            return this.name;
        }

        public double getMonthSalary() {
            return this.salary;
        }

        public static void main(String[] argc) {
            ArrayList<Employee> list = new ArrayList<Employee>();
            list.add(new Employee(1, "asd", 1300));
            list.add(new Employee(7, "asds", 14025)); // this
            list.add(new Employee(2, …
Run Code Online (Sandbox Code Playgroud)

java sorting

2
推荐指数
1
解决办法
51
查看次数

防止用户返回到上一个屏幕StackNavigator

我想做一个简单的任务:成功登录后,将用户重定向到他的主页。为此,我使用react-navigation的StackNavigator:

// App.js

class App extends Component {
  render() {
    return (<RootStack />);
  }
}

const RootStack = createStackNavigator(
  {
    Login: { screen: Login, navigationOptions: { header: null }},
    Home: { screen: Home, navigationOptions: { header: null }}
  },
  {
    initialRouteName: 'Root'
  }
)
Run Code Online (Sandbox Code Playgroud)

登录后如何防止用户返回登录界面?为了防止在android中使用后退按钮,我将使用此按钮:

// Home.js

import React, { Component} from 'react';
import { ... , BackHandler } from 'react-native';

class Home extends Component {
    constructor(props) {
        super(props);
        BackHandler.addEventListener('hardwareBackPress', this.onBackButtonPressAndroid);
    }
    onBackButtonPressAndroid = () => {
        return true;
    } …
Run Code Online (Sandbox Code Playgroud)

android reactjs react-native react-navigation

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

如何声明二维矩阵数组 PHP

下面是一段应该声明 2D 数组的 PHP 代码。

$array = array(
    range(1, 4), 
    range(1, 4)
);

print_r($array);
Run Code Online (Sandbox Code Playgroud)

它应该看起来像这样:大批

但输出是: Array ( [0] => Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 ) [1] => Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 ) )

那么我做错了什么?如何将\display 声明为矩阵二维数组?

php arrays matrix multidimensional-array

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