首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于get参数的SolidJS组件渲染

基于get参数的SolidJS组件渲染
EN

Stack Overflow用户
提问于 2022-10-31 19:57:19
回答 1查看 42关注 0票数 1

我有一个简单的SolidJS组件:

代码语言:javascript
复制
export const PageContent: Component<{content: string}> = (props) => {
    
}

现在,由于我希望构建一个包含许多页面的web应用程序,并且我希望在所有页面上保持页眉、页脚、导航等内容相同,所以我认为我可以根据get参数定制PageContent显示的内容,比如:https://my-app.com?content=home...?content=customers,.

为了保持思想清晰,我想为单独文件夹(如:content/Home.tsxcontent/Customers.tsx等)中的get参数的每个可能值(即,每个页面)定义一个组件。

我是否可以根据get参数(带有内容支柱)在PageContent中返回适当的组件?还是有更好的方法来做我想做的事?

我是个新手,习惯于使用基于PHP的网站,这就是我为什么想到get参数的原因(回想一下index.php?page=)。

谢谢

(我尝试搜索返回的<props.content></props.content>,但没有成功。)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-01 02:39:36

使用像solid-js路由器这样的路由器库的最好方法。SolidJS路由器允许您根据要求根据浏览器中的URL更改视图。我们使用path而不是get参数来匹配要显示的页面或组件的请求,但是逻辑完全取决于您是否使用查询参数或路径或任何其他基于请求的值。它支持通配符路由来覆盖以前不匹配的urls。

https://github.com/solidjs/solid-router

代码语言:javascript
复制
import { Routes, Route } from "@solidjs/router"

const Home = () => {
  return (<div>Home</div>);
};

const Users = () => {
  return (<div>Users</div>);
};

export default function App() {
  return <>
    <h1>My Pages</h1>
    <Routes>
      <Route path="/users" component={Users} />
      <Route path="/" component={Home} />
      <Route path="/about" element={<div>This site was made with Solid</div>} />
    </Routes>
  </>
}

注意:目前SolidJS游乐场不支持solid-js路由器,您需要使用codesandbox或设置您自己的本地环境。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74268544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档