当前位置: 首页 > news >正文

b2b网站用织梦可以做吗电商运营推广是做什么的

b2b网站用织梦可以做吗,电商运营推广是做什么的,用家里网络做网站,华电集团班组建设网站React组件的两种创建方式 注意点 引入的组件的名首字母要大写,组件文件要先引入React 构造函数式接收属性要用形参接收,class式不需要,用this.props.xxx获取,class还有类似vue中的data的属性,this.state{};…

React组件的两种创建方式

注意点 引入的组件的名首字母要大写,组件文件要先引入React
构造函数式接收属性要用形参接收,class式不需要,用this.props.xxx获取,class还有类似vue中的data的属性,this.state={};class式必须有render ,render要有返回值,constructor中要先super()然后在进行操作格式如下

构造函数式 无状态组件(用的不多)

import React from 'react'
export default function hello (props) {return <h2>{props.name}-{props.age}</h2>
}

引入

let age = 20
let name = "hongbin"
let skill = ['Vue','React']
let hongbin = {age,name,skill
}
const myDiv = <div id="wrap"><h1>Hello React</h1><Hello {...hongbin}></Hello>
</div>
ReactDom.render(myDiv,document.getElementById("app"))

class式 有状态组件(推荐,有生命周期,私有数据)

import React from 'react'
export default class Hi extends React.Component {constructor(){super()this.state = {hi:"hi"}}render(){return <div>{this.state.hi}<br/>{this.props.skill.map(i => <h3 key={i}>{i}</h3>)}</div>}
}

引入同构造函数式

<Hi {...hongbin}></Hi>

两种组件形式各有各的优势
构造函数式因为没有生命周期和私有属性,所以速度更快,性能高,适合没有私有值的情况使用
class式组件有生命周期和私有属性,适合用于对值需要操作获取等情况
两者可以相互配合使用

webpack.config.js配置引入时省略文件后缀名和@别名

resolve:{//省去js文件中导入文件的后缀名extensions:['.js','.jsx','.json'], //表示引入的文件自动匹配后缀名从数组中的第一项开始匹配alias:{//别名'@':path.join(__dirname ,'./src')//表示@代表根目录下的src目录}}

这样引入组件时不需要像这样

import Hello from './components/hello.jsx'

可以这样代替

import Hello from './components/hello'
import Hello from '@/components/hello'

两种组件方式配合使用
比如要对一组数据进行渲染,只用class的方式可以写成

class CommentsWrap extends React.Component {constructor() {super()this.state = {lists: [{ id: 1, user: 'Peter', content: 'Hi i am Peter' },{ id: 2, user: 'David', content: 'Hi i am David' },{ id: 3, user: 'Paul', content: 'Hi i am Paul' },{ id: 4, user: 'Lisa', content: 'Hi i am Lisa' },{ id: 5, user: 'Caesar', content: 'Hi i am Caesar' },],}}render() {return (<div>{this.state.lists.map((list, index) => {return (<div key={index}><h3>评论人:{list.user}</h3><h4>评论内容:{list.content}</h4></div>)})}</div>)}
}

可以看到整体分为两个部分,一部分是需要渲染的数据,一部分是return到页面的jsx标签
可以看到return出去的jsx部分数据是来自组件的state中的值,本身不需要自己私有的值,这样我们就可以把他抽离成一个单独的组件,这样index.js文件中只需要放处理出去的组件就可以了
index.js

import CommentsWrap from '@/components/CommentWrap'ReactDom.render(<div><CommentsWrap></CommentsWrap></div>,document.getElementById('app')
)

CommentsWrap组件

import CommentList from '@/components/CommentList'
export default class CommentsWrap extends React.Component {constructor() {super()this.state = {lists: [{id: 1,user: 'Peter',content: 'Hi i am Peter',},{id: 2,user: 'David',content: 'Hi i am David',},{id: 3,user: 'Paul',content: 'Hi i am Paul',},{id: 4,user: 'Lisa',content: 'Hi i am Lisa',},{id: 5,user: 'Caesar',content: 'Hi i am Caesar',},],}}render() {return (<div>{this.state.lists.map((list, index) => {return <CommentList key={index} {...list}></CommentList>})}</div>)}
}

CommentList组件

export default function CommentList(props) {return (<div><h3> 评论人: {props.user} </h3><h4> 评论内容: {props.content} </h4></div>)
}

这样每个块单独抽出来,更易于日后代码的维护,也符合模块化开发潮流

jsx的样式
jsx的样式书写格式:

style = {{color:"deepPink"}}

样式的4次抽离
1,

  <div style = {{padding:"0.6rem" ,border:"0.0625rem dashed #00f",maxWidth:"50vw",margin:"0.625rem auto"}}><h3 style = {{color:"deepPink"}}> 评论人: {props.user} </h3><h4 style = {{color:"green"}}> 评论内容: {props.content} </h4></div>

2

let wrap = {padding:"0.6rem" ,border:"0.0625rem dashed #00f",maxWidth:"50vw",margin:"0.625rem auto"}
let user = {color:"deepPink"}
let context = {color:"green"}export default function CommentList(props) {return (<div style = {wrap}><h3 style = {user}> 评论人: {props.user} </h3><h4 style = {context}> 评论内容: {props.content} </h4></div>)
}

3

let style = {wrap : {padding:"0.6rem" ,border:"0.0625rem dashed #00f",maxWidth:"50vw",margin:"0.625rem auto"},user : {color:"deepPink"},context : {color:"green"}
}export default function CommentList(props) {return (<div style = {style.wrap}><h3 style = {style.user}> 评论人: {props.user} </h3><h4 style = {style.context}> 评论内容: {props.content} </h4></div>)
}

4

import style from '@/components/style'
export default function CommentList(props) {return (<div style = {style.wrap}><h3 style = {style.user}> 评论人: {props.user} </h3><h4 style = {style.context}> 评论内容: {props.content} </h4></div>)
}

components/style.js

export default {wrap : {padding:"0.6rem" ,border:"0.0625rem dashed #00f",maxWidth:"50vw",margin:"0.625rem auto"},user : {color:"deepPink"},context : {color:"green"}
}

最后如果本文对你有用的话欢迎你关注我的公众号,会有各种技术栈的文章
在这里插入图片描述

http://www.lbrq.cn/news/2761795.html

相关文章:

  • 做公司网站需要什么网站推广优化公司
  • 合肥哪个公司做网站好广告公司推广软文
  • 内部网络网站怎么做注册网站在哪里注册
  • 做名片用哪个网站百度推广在线客服
  • 优秀网站seo报价如何推广宣传一个品牌
  • win7如何做网站服务器网推放单平台
  • 网站栏目名称seo系统源码
  • 深圳企业网站建设开发费用私人做网站
  • 青海省住房和城乡建设厅的官方网站企业建站免费模板
  • 网站建设+临沂怎么在百度上做广告
  • 深圳西乡 网站建设品牌整合营销
  • 视频类网站建设的成果深圳搜索引擎优化推广便宜
  • 网站改版中百度认证是什么
  • 个人网站限制网址缩短
  • wordpress php那个版本号seo排名的影响因素有哪些
  • 万江营销型网站建设站长工具网站备案查询
  • 云南域名注册网站建设网络宣传渠道有哪些
  • 网站主办者冲突 请核实后再次报备关键词百度网盘
  • 站长之家查询的网址网络seo优化推广
  • 如何给一个公司做网站网络营销有什么方式
  • 连云港网站建设多少钱合肥百度快速排名优化
  • 珠海微网站制作怎么做个人网页
  • 建网站需要服务器吗免费域名注册平台有哪些
  • 深圳网站制作的网站推广方案策划
  • 知名的网站制作公司需要多少钱成全视频免费观看在线看
  • 福州网站制作2022双11各大电商平台销售数据
  • 网站建设期间工作福州seo优化排名推广
  • 用xp做网站是否先搭建iis网络运营师
  • 2023年山西有疫情吗网站标题优化排名
  • 给公司做一个网站流程免费推广产品的平台
  • Vue3 中使用 Element Plus 完整指南
  • MacOS 安全机制与“文件已损坏”排查完整指南
  • 王树森深度强化学习DRL(三)围棋AlphaGo+蒙特卡洛
  • mac查看nginx安装位置 mac nginx启动、重启、关闭
  • LeetCode 分类刷题:2962. 统计最大元素出现至少 K 次的子数组
  • STL 容器