gpt4 book ai didi

javascript - 使用 2017 年的 React-router React-transition-group 示例,其中内容组件不渲染

转载 作者:行者123 更新时间:2023-12-03 13:38:18 33 4
gpt4 key购买 nike

演示和代码 => https://codesandbox.io/s/73ymn2k911

根据我通过开发工具的观察,它最初知道在哪里放置组件,但忘记设置 opacity: 1 或删除旧组件

我怀疑问题出在 app.js 请参阅下面的更新。

import React, { Component } from "react";
import { Route, matchPath } from "react-router-dom";
import TransitionGroup from "react-transition-group/TransitionGroup";
import AnimatedSwitch from "./animated_switch";
import { firstChild } from "../utils/helpers";

import TopBar from "./top_bar";
import Home from "./home";
import Projects from "./projects";
import ProjectItem from "./project_item";
import Missed from "./missed";

export default class App extends Component {
constructor(props) {
super(props);
this.state = {
projects: []
};
}
componentDidMount() {
fetch("https://jsonplaceholder.typicode.com/posts")
.then(response => {
return response.json();
})
.then(json => {
this.setState({
projects: json.slice(0, 7)
});
});
}
render() {
return (
<div className="wrapper">
<TopBar />
<Route
render={({ location }) => (
<TransitionGroup component="main">
<AnimatedSwitch
key={location.pathname}
location={location}
>
<Route exact path="/" component={Home} />
<Route
exact
path="/projects"
render={props => (
<Projects {...props} projects={this.state.projects} />
)}
/>
<Route
path="/projects/:id"
render={props => (
<ProjectItem {...props} projects={this.state.projects} />
)}
/>
<Route component={Missed} />
</AnimatedSwitch>
</TransitionGroup>
)}
/>
</div>
);
}
}

但我可能是错的。单击 codesandbox.io 上的导航链接后,它在控制台上打印了两个错误,而我的实时测试站点上的 chrome 开发工具并未报告这些错误:

Warning: Unknown event handler property `onExited`. It will be ignored.
Warning: Received `true` for a non-boolean attribute `in`.

这全部基于我发现的旧依赖项的示例,该示例发布在去年的博客上。我正在尝试从例子中学习,但你很难理解每 6 个月就会发生变化的事情。

如果您能帮忙,谢谢!

<小时/>

更新:我一直在审查react-transition-group v1到v2 migration guide我认为问题实际上是我的转换组件,我不知道如何修复。

最佳答案

我刚刚自己解决了这个问题,但是 TransitionGroup 希望它的直接子级是 Transition 类型。组件本身实际上并不对此进行任何验证,因此它只会在所有这些子节点上添加 inonExit 属性。因为在本例中您的子项是样式化的 div,所以这些属性无效,因此您会收到这些警告。如果您将组件包装在 TransitionCSSTransition 中,这些警告就会消失。

关于javascript - 使用 2017 年的 React-router React-transition-group 示例,其中内容组件不渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49973153/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com