GVKun编程网logo

在反应路由上呈现一个新页面,但它在当前页面内呈现它 问题:Router 内的 CardComponent问题:URL 结构不明确解决方案

3

在本文中,我们将给您介绍关于在反应路由上呈现一个新页面,但它在当前页面内呈现它问题:Router内的CardComponent问题:URL结构不明确解决方案的详细内容,此外,我们还将为您提供关于$st

在本文中,我们将给您介绍关于在反应路由上呈现一个新页面,但它在当前页面内呈现它 问题:Router 内的 CardComponent问题:URL 结构不明确解决方案的详细内容,此外,我们还将为您提供关于$str =asdfasdf123541[url]asdfasdf[/url]cxgew435asdfasdf; [url]asdfasdf[/url] 想把这块去掉,最好的方法是什么。、./node_modules/react-router-dom/react-router-dom.js尝试导入错误:未从“ react-router”导出“ Navigate”、CakePHP - Router::url() 生成相对于当前页面的 url、Firebase 存储 - URL 上的文件:无法访问确保文件 url 不是目录、符号链接或无效的 url的知识。

本文目录一览:

在反应路由上呈现一个新页面,但它在当前页面内呈现它 问题:Router 内的 CardComponent问题:URL 结构不明确解决方案

在反应路由上呈现一个新页面,但它在当前页面内呈现它 问题:Router 内的 CardComponent问题:URL 结构不明确解决方案

如何解决在反应路由上呈现一个新页面,但它在当前页面内呈现它 问题:Router 内的 CardComponent问题:URL 结构不明确解决方案

这会显示一个卡片组件,如果用户点击 <Link>read</Link>,它应该重新呈现一个新页面。

  1. import React from "react";
  2. import { Button } from "react-bootstrap";
  3. import "./CardComponent.css";
  4. import { browserRouter as Router,Switch,Route,Link } from "react-router-dom";
  5. import Content from "./ContentFolder/Content";
  6. function CardComponent(props) {
  7. return (
  8. <Router>
  9. <div class="card">
  10. <div className="uppercard">
  11. <img
  12. className="bookCover"
  13. src={props.img}
  14. alt=""
  15. width="120px"
  16. height="150px"
  17. />
  18. <h3>{props.title}</h3>
  19. <h6>By{props.author}</h6>
  20. </div>
  21. <div className="lowerCard">{props.points}</div>
  22. <Link to={"/" + props.title + props.author}>Read</Link>
  23. </div>
  24. <Switch>
  25. <Route
  26. exact
  27. path={`/${props.title+props.author}`}
  28. component={Content}
  29. >
  30. <Content title={props.title} author={props.author}
  31. points={props.points}
  32. />
  33. </Route>
  34. </Switch>
  35. </Router>
  36. );
  37. }
  38. export default CardComponent;

点击阅读时,我想在不同的页面上呈现这个内容组件。

总而言之,目标是在用户单击卡片组件之一时在新页面上显示所有信息。

  1. import React from "react";
  2. import Mynavbar from "../Partials/Mynavbar";
  3. import MyFooter from "../Partials/Footer";
  4. import { Container } from "react-bootstrap";
  5. import "./Content.css";
  6. function Content(props) {
  7. return (
  8. <div>
  9. <Mynavbar />
  10. <Container className="main">
  11. <h4>{props.title}</h4>
  12. <h6>By {props.author}</h6>
  13. <ul>
  14. {props.points.map((point,i) => {
  15. return <li>{point}</li>;
  16. })}
  17. </ul>
  18. </Container>
  19. <MyFooter />
  20. </div>
  21. );
  22. }
  23. export default Content;

解决方法

问题:Router 内的 CardComponent

Router 需要存在于 App 的最高级别。 Router 内部和 Switch 外部的所有内容都将呈现在每个页面上。因此,现在您的卡代码甚至会显示在 Content 路线上。我们希望 CardContent 是分开的 Route

问题:URL 结构不明确

需要让您的网址看起来像 "/${props.title+props.author}" 吗?这是一个非常糟糕的结构,因为您不可能从 URL 向后工作到内容。 "/Harry PotterJ.K. Rowling" 的内容是什么?哪一部分是标题,哪一部分是作者?没有分隔符,所以你不知道。您必须遍历所有书籍的列表,加入它们的书名和作者,并将其与您的字符串进行比较。

典型的 URL 将基于 id,例如 "/book/5"。我在此处没有看到任何提及 id 的内容,因此我们可以使用 title

解决方案

应用路由可能如下所示:

  1. function App() {
  2. return (
  3. <Router>
  4. <Switch>
  5. <Route path="/book/:title" component={BookDetails}/>
  6. <Route path="/" component={BookList}/>
  7. </Switch>
  8. </Router>
  9. )
  10. }

让我们去掉 CardComponent 中的所有路由,让它只显示带有图书详细信息链接的图书卡片。

  1. function CardComponent(props: Book) {
  2. return (
  3. <div className="card">
  4. <div className="uppercard">
  5. <img
  6. className="bookCover"
  7. src={props.img}
  8. alt=""
  9. width="120px"
  10. height="150px"
  11. />
  12. <h3>{props.title}</h3>
  13. <h6>By{props.author}</h6>
  14. </div>
  15. <div className="lowerCard">{props.points}</div>
  16. <Link to={"/book/" + props.title}>Read</Link>
  17. </div>
  18. );
  19. }

我们的主页可能会显示这些卡片的列表。

  1. function BookList() {
  2. // get books from somewhere -- a database? a json file?
  3. const books = ???;
  4. return (
  5. <ul className="bookList">
  6. {books.map((book) => (
  7. <CardComponent {...book} key={book.title} />
  8. ))}
  9. </ul>
  10. );
  11. }

BookDetails 是单独的路由,因此我们需要从 URL 中获取图书。

  1. function BookDetails(props: RouteComponentProps) {
  2. // get the title from the URL
  3. // is automatically encoded and needs to be decoded
  4. const title = decodeURIComponent(props.match.params.title);
  5. // find the book object from your data source
  6. const book = ???
  7. // from a JSON array: BOOKS.find(book => book.title.toLowerCase() === title.toLowerCase() );
  8. // redirect to error page if no matching book
  9. if ( ! book ) {
  10. return <Redirect to="/404" />
  11. }
  12. // can render your Content component,but only after we get the book
  13. return (
  14. <Content {...book} />
  15. )
  16. }

$str =asdfasdf123541[url]asdfasdf[/url]cxgew435asdfasdf; [url]asdfasdf[/url] 想把这块去掉,最好的方法是什么。

$str =asdfasdf123541[url]asdfasdf[/url]cxgew435asdfasdf; [url]asdfasdf[/url] 想把这块去掉,最好的方法是什么。

 $str =asdfasdf123541[url]asdfasdf[/url]cxgew435asdfasdf;

[url]asdfasdf[/url]  想把这块去掉,最好的方法是什么。

./node_modules/react-router-dom/react-router-dom.js尝试导入错误:未从“ react-router”导出“ Navigate”

如何解决./node_modules/react-router-dom/react-router-dom.js尝试导入错误:未从“ react-router”导出“ Navigate”

./node_modules/react-router-dom/react-router-dom.js Attempted import error: ''Navigate'' is not exported from ''react-router''.

react-router-dom的版本是6.0.0-alpha.2,而react-router是5.2.0。 两者均已正确安装。我不确定如何解决此错误。有人可以给我任何可能的解决方法吗?

我的代码中甚至没有<Navigate to=?>行。

解决方法

为什么只安装两个都需要,这可以工作

  1. 执行npm删除react-router
  2. 删除node_modules
  3. 纱线安装或npm安装和
  4. 启动纱线或启动npm

CakePHP - Router::url() 生成相对于当前页面的 url

CakePHP - Router::url() 生成相对于当前页面的 url

如何解决CakePHP - Router::url() 生成相对于当前页面的 url

我正在尝试用 CakePHP 3.8 Router::url() 方法替换我所有的静态路由。

在我的本地环境中,当从 manage/lender-products/read/2 路由访问下面的代码时,我从下面的代码中得到了 /manage/lenders 的预期结果:

  1. \\Cake\\Routing\\Router::url([''controller'' => ''Lenders'',''action'' => ''index''])

但是,在生产 (bref.sh/AWS Lambda/PHP 7.4) 中,我得到了意外的 /manage/lender-products/read/manage/lenders 结果。

似乎在我的生产环境中,正在生成 URL 并在最终结果中包含当前页面的 URL。

解决方法

如果您没有为 App.base 配置选项设置自定义基本路径,CakePHP 将尝试根据 $_SERVER[''PHP_SELF'']$_SERVER[''DOCUMENT_ROOT''] 自行找出可能的基本路径,因此其中一个或两个可能在您的 AWS 环境中包含意外值。

简单的解决方法是在您的 config/app.php 中手动设置基本路径。如果您的应用程序实际上并不位于公共子目录中(即,如果 webroot 是您的文档根目录),那么您应该将路径设置为空字符串,否则提供路径,例如 /my/app (带有前导斜线,但没有尾部斜线!)。

另见

  • Cookbook > Configuration > General Configuration

Firebase 存储 - URL 上的文件:无法访问确保文件 url 不是目录、符号链接或无效的 url

Firebase 存储 - URL 上的文件:无法访问确保文件 url 不是目录、符号链接或无效的 url

如何解决Firebase 存储 - URL 上的文件:无法访问确保文件 url 不是目录、符号链接或无效的 url

我在一个位置有一个视频,我想复制到另一个位置,但我一直收到错误

位于 URL 的文件: https://firebasestorage.googleapis.com/v0/b/myapp.appspot.com/o/...mp4?alt=media&token=..。 无法访问。确保文件 URL 不是目录、符号链接、 或无效网址。

=IFS(
  AND(E3=TRUE,F3=TRUE),QUERY(J1:K),AND(E3=FALSE,F3=FALSE),QUERY(L1:M),AND(E3=TRUE,QUERY(N1:O),QUERY(P1:Q)
)

解决方法

我必须做两件事来解决这个问题:

1- 我必须将第一个 firebase url 转换为 AVURLAsset > AVMutableComposition > AVAssetExportSession,我使用 exporter.outputURL 来保存。

let strFromFirstLocation = "https://firebasestorage.googleapis.com/v0/b/myapp.appspot.com/o/...mp4?alt=media&token=..."

guard let url = URL(string: strFromFirstLocation) else { return }
        
let asset = AVURLAsset(url: url)

let mixComposition = AVMutableComposition()

// ...

guard let exporter = AVAssetExportSession(asset: mixComposition,presetName: AVAssetExportPresetHighestQuality)

// ...

guard let exporterOutputURL = exporter.outputURL else { return }

2- 我必须像 .mp4 一样将 "\\(postId).mp4" 添加到路径中:

let secondLocationRef = Storage.storage().reference().child("copy").child("\\(postId).mp4")

secondLocationRef.putFile(from: exporterOutputURL,metadata: nil,completion: { (metadata,error) in

    if let error = error {
        print(error.localizedDescription)
        return
    }
})

关于在反应路由上呈现一个新页面,但它在当前页面内呈现它 问题:Router 内的 CardComponent问题:URL 结构不明确解决方案的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于$str =asdfasdf123541[url]asdfasdf[/url]cxgew435asdfasdf; [url]asdfasdf[/url] 想把这块去掉,最好的方法是什么。、./node_modules/react-router-dom/react-router-dom.js尝试导入错误:未从“ react-router”导出“ Navigate”、CakePHP - Router::url() 生成相对于当前页面的 url、Firebase 存储 - URL 上的文件:无法访问确保文件 url 不是目录、符号链接或无效的 url的相关信息,请在本站寻找。

本文标签: