我在 React 18 上尝试在我的测试项目中安装connected-react-router 时遇到了问题:npm 安装失败并出现错误:
npm 错误!发现:react@18.1.0
npm 错误!节点模块/反应
npm 错误!来自根项目的react@“^18.1.0”
npm 错误!npm 错误!无法解决依赖关系
npm 错误!来自connected-react-router@6.9.2 或类似包的peer react@"^16.4.0 || ^17.0.0"
我在存储库中connected-react-router找到了信息:
v6.0.0 需要 React v16.4.0 和 React Redux v6.0 / v7.0。
所以,我有疑问:1)connected-react-router 是否维护?最后一次提交的日期是 7 个月前;2)React 18项目中是否有类似的连接路由器的包?或者 React 18 中添加了任何内置功能?
当然,手动将 React 路由器连接到 Redux 存储一点也不困难,但我对现成的解决方案感兴趣。我也一直在搜索该主题,但找不到任何信息。预先感谢您的答复。
我只是无法理解,为什么在对象继承中“instanceof”无法将“子”对象评估为父原型的实例。例如:
function Parent(property) {
this.property = property;
}
function Child(property) {
Parent.call(property);
}
const child = new Child("");
console.log(child instanceof Child); // of course, true
console.log(child instanceof Parent); // false. But why???
Run Code Online (Sandbox Code Playgroud)
至于类的继承(或者说JS中被认为是类的东西),情况就不同了:
class Parent {
constructor(property) {
this.property = property;
}
}
class Child extends Parent {
constructor(property) {
super(property);
}
}
const child = new Child("");
console.log(child instanceof Child); // true
console.log(child instanceof Parent); // also true!!!
Run Code Online (Sandbox Code Playgroud)
造成这种差异的原因是什么?是否可以创建子对象,以便将它们正确地识别为其父原型的实例(无需求助于类)?