我正在尝试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)
也许任何人都可以帮助我。
我有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) 我想做一个简单的任务:成功登录后,将用户重定向到他的主页。为此,我使用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) 下面是一段应该声明 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 声明为矩阵二维数组?
reactjs ×2
android ×1
arrays ×1
java ×1
matrix ×1
php ×1
react-native ×1
sorting ×1
typescript ×1