清风春芽
改成字符串就可以了吧 eg:width:'2rem',height:'10vh'
斜杠男人
一个求知若渴的菜鸟
落夜星空
processOn吧
屁孩
var helloWorld 变成 var HelloWorld就行了,变量名必须大驼峰写法,因为它是类名
qq_精慕门9215320
首先创建一个新的React项目
npx create-react-app my-app
在src文件夹下单独建立一个js文件,把每一个组件封装成一个类,
将需要在其他文件引用的类用
export default 类名;
命名导出,进行引用就可以了。
//stateTest.js
import React, { Component } from 'react';
class LightningCounter extends Component {
constructor(){
super();
this.state = {strikes:0};
}
getInitialState(){
return {strikes:0}
}
timerTick=()=>{this.setState({strikes:this.state.strikes + 100});}
componentDidMount=()=>{//组件被浏览器加载之后,没有被调用之前,设置定时器
setInterval(this.timerTick,1000);}
render() {
var counterStyle = {color:"#66FFFF",fontSize:50}
var count = this.state.strikes.toLocaleString();
return (<div><h1 style={counterStyle}>{count}</h1></div>)}
}
class LightningCounterDisplay extends Component {
render() {
var commonStyle = {margin:0,padding:0}
var divStyle = {width:250,textAlign:"center",backgroundColor:"black",padding:40,color:"#999",fontFamily:"sans-serif",borderRadius:10}
var textStyle = {emphasis:{fontSize:38,...commonStyle},smallEmpasis:{...commonStyle},small:{fontSize:17,opacity:0.5,...commonStyle}}
return (
<div>
<div style={divStyle}>
<LightningCounter/>
<h2 style={textStyle.smallEmpasis}>变更</h2>
<h2 style={textStyle.smallEmpasis}>地球</h2>
<p style={textStyle.smallEmpasis}>(加载后)</p>
</div>
</div>);}}
export default LightningCounterDisplay;
//index.js
import React,{Component} from 'react';
import ReactDOM from 'react-dom';
import * as serviceWorker from './serviceWorker';
import LightningCounterDisplay from './stateTs';
ReactDOM.render(
<div><LightningCounterDisplay /></div>,
document.getElementById('root'));
serviceWorker.unregister();
qq_慕哥5037448
timerTriker = () =>{
this.setState({
strikes:this.state.strikes+100
})
}
componentDidMount = () => {
setInterval(this.timerTriker,1000)
}
解决了 没有绑定 这2个方法这样写 就可以了
Frank_Boertex
手动输入 127.0.0.1:8000
qq_那样芬芳_0
16.x版本后已经废弃了
qq_那样芬芳_0
在浏览器中输入https://cdn.staticfile.org/react/16.4.0/umd/react.development.js https://cdn.staticfile.org/react-dom/16.4.0/umd/react-dom.development.js https://unpkg.com/babel-standalone@6.15.0/babel.min.js 这三个地址,将得到的页面全选后复制粘贴到本地的文件中,分别对应react.js、react-dom.js和browser.min.js三个文件
含泪的yu不怕溺水
你换个版本试一下,因为新版本可能会改
qq_微风岸细嗅蔷薇_0
在jsx的style样式对象中写宽、高等(与数字有关的样式时),不用带单位。
qq_微风岸细嗅蔷薇_0
用react-router路由实现最佳。如:你只要设置好布局就ok.
<Link to = "/">跳转到主页面去</Link>
<Link to = "/about">跳转到about页面</Link>
{/*exact 更精准定位,切换路由只包含Home*/}
<Route exact path="/" component={Home} />
<Route path="/about" component={About} />
六叔886
toLocaleString() 方法可根据本地时间把 Date 对象转换为字符串,并返回结果
Hui前端框架
重复的代码写成一个组件
慕标6346759
this
963601654
<script type="text/babel">
class HelloWorld extends React.Component {
render(){
return (<div><p>Hello world!</p></div>);
}
}
ReactDOM.render(<HelloWorld/>,document.querySelector("#container"));
</script>
脑阔疼
子组件获取父组件prosp时,会将父组件所有的props获取过来,你只是分开写了。
zflhcc
需要在LightningCounter的开始就初始化state.strikes
LightningCounter {
getInitialState:function(){
return {strikes:value};
}
}
慕婉清0208
还可以用 node.js 或其它,只要能开启服务器就行了。。。不过当前课程好像用不到。。。
qq_无根草_0
看看完整代码就知道了。
dragonishare
写错了
dragonishare
可能他想说componentWillMount
imoocYu
不设置高度就是内容的高度,加了padding
慕村9558406
因为这是React识别回调函数的写法,onclick是html识别。。。。环境不一样 - -
阳春二三月芳菲始争春
狂龙治中
import classNames from 'classnames';
<div className={classNames("class1", "class2")}></div>
需要安装classnames包:npm install classnames --save
茗记之殇
test?