这篇“react怎么定义变量并使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“react怎么定义变量并使用”文章吧。
react定义变量并使用
这里面涉及到了
-
1、变量如何定义
-
2、变量如何进行改变
-
3、方法如何调用
都写有详细的注释大家可详细观看适合刚学习react的新同学
class Packaging extends React.Component{ // react 类组件
constructor(props) {
super(props);
this.state = {
// 进行变量定义(会vue的同学:这个地方就相当于 data 的return里所定义的)
// 例如
name:'定义name'
};
this.getNameData();// 调用方法
}
// 定义方法-写这个方法是为了给大家操作一下怎么改变定义的数据
getNameData() {
http.get('接口名称').then(res => {
// 第一种
this.setState({ // 使用this.setState来进行改变变量
name: res.data.name
});
console.log(this.state.dataObj) // 打印不到的
// 第二种
this.setState({
name: res.data.name
},() => {
console.log(this.state.dataObj) // 可以打印到
})
}).catch(error => {
console.error(error)
})
}
render() {
return <div className="className">// className定义div的class名称
{this.state.name}
</div>
}
}
react全局变量的设置
新建一个 util文件夾 ---> tool.jsx
window._= {
/**
* 存储localStorage
*/
setStore:(name, content) =>{
if (!name) return;
if (typeof content !== 'string') {
content = JSON.stringify(content);
}
window.localStorage.setItem(name, content);
},
/**
* 获取localStorage
*/
getStore:(name) => {
if (!name) return;
return window.localStorage.getItem(name);
},
/**
* 清除localStorage
*/
clearStore:() => {
window.localStorage.clear();
},
getQueryStringByName: function (name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
var context = "";
if (r != null)
context = r[2];
reg = null;
r = null;
return context == null || context == "" || context == "undefined" ? "" : context;
}
}
在入口文件app.jsx里面引入
import "util/tool.jsx";
然后在其余的组件里面就可以访问到这个变量对象:_