首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将呈现组件预先呈现到指定的div

将呈现组件预先呈现到指定的div
EN

Stack Overflow用户
提问于 2019-04-01 14:47:15
回答 1查看 1.3K关注 0票数 2

由于从preact cli生成的preact应用程序没有随任何index.html一起提供,所以每个组件呈现都会附加到body标记,但是我希望将组件呈现到指定的div中。,例如,这里的是我的component/app.js

代码语言:javascript
复制
import { h, Component } from 'preact';
import { Router } from 'preact-router';
import 'bootstrap/dist/css/bootstrap.min.css';

import Header from './header';

// Code-splitting is automated for routes
import Home from '../routes/home';
import Profile from '../routes/profile';
import Github from '../routes/github';
import List from '../routes/list';

export default class App extends Component {

    /** Gets fired when the route changes.
     *  @param {Object} event       "change" event from [preact-router](http://git.io/preact-router)
     *  @param {string} event.url   The newly routed URL
     */
    handleRoute = e => {
        this.currentUrl = e.url;
    };

    render() {
        return (
            <div id="app">
                <Header />
                <Router onChange={this.handleRoute}>
                    <Home path="/" />
                    <Profile path="/profile/" user="me" />
                    <Profile path="/profile/:user" />
                    <Github path="/github" />
                    <List path="/list" />
                </Router>
            </div>
        );
    }
}

这是我在index.js routes/list

代码语言:javascript
复制
import { h, Component } from 'preact';
import axios from 'axios';

export default class List extends Component {
  state = {
      data : []
    };
  fetchUser = () => {
      axios.get(`https://api.dev.xxx`)
      .then(response =>{
       const data = response.data.data;
       this.setState({data: data})
      });
  }
  setUsername = e => {
      this.setState({ username: e.target.value });
      this.fetchUser();
  }
  componentDidMount() {
      this.fetchUser();
  }
  render({}, {data}) {
      return (
        <div class="container">
          <h1>Listnya</h1>
          {
              data.map(d=>(
                <div class="card">
                    <p>{d.id}</p>
                    <p>{d.name}</p>
                </div>
              ))
          }
        </div>
      );
   }
}

正如我们在上面的代码中看到的那样,<div class="container">将被附加到主体中,但是我想在容器div中呈现预先指定的卡。这是怎么做的?

EN

回答 1

Stack Overflow用户

发布于 2019-04-23 11:42:41

如果您可以使用候选版本,您可以升级到3.0:(根中有template.html ) prateekbh/status/1114071027238047746

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

https://stackoverflow.com/questions/55457874

复制
相关文章

相似问题

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