一,首先官方文档要看一下
这里cue出官方文档,地址如下:
https://taro-docs.jd.com/taro/docs/README.html
二, 遇到得问题
1.用到得git 先记录一下命令;
.git 提交代码:
.提交本地;
.拉取;
.推送到外网;
2.端口占用的问题
.端口占用的问题
netstat -ano
找到端口号: netstat -ano|findstr 8080
taskkill /f /t /im PID号
修改了本地开发的端口号(config-dev.js):
devServer:{
port: 8888
}
3.语法是个人感觉是结合的react的语法和小程序的,
如react 的条件语句 用 变量和&& 链接或是三元运算符使用,对taro同样适用
4.关于数组更新的问题
//data为接口请求回来的数据
let grade1=[],
grade2=[],
grade3=[];
data.forEach(item=>{
item.name = item.reg_name;//item.name ,item.value 时你自己命名的名字,为的组件上显示
item.value = item.reg_name;
if(item.grade == 1){
grade1.push(item);
}else if( item.grade == 2){
grade2.push(item);
}else if( item.grade == 3){
grade3.push(item);
}
});
me.setState({
registerTypeList: [{
title: '企业类型',
range: grade1
}],
registerTypeData:{
grade1,
grade2,
grade3
}
})
5;使用对象结构得方式赋值变量。
{
holding_type1,
holding_type2,} = data //从接口data 中拿到想要得字段,
this.setState({
formData:{
...formData,
holding_type1,
holding_type2,
holding_type3,})//重新绑定是就可以直接绑定了
最后绑定的时候可以用this.state.属性 来做
this.state.formData.industry_cn = stateValue.industryName.join('-');
this.setState({
...this.state.formData,//最后数据更新
isOpenedIndustry: false
},()=>{
// 更新后的回调})
数据格式的类型检查可以在tool 里面做数据格式校验,在提交的的页面引入在校验
异步更新不能马上拿到值:要想拿到可以这样做:
{ this.allowUpload() }
函数具体方法:
allowUpload = () => {
if(this.state.flag == 1){
return (
<AtForm></AtForm> )
}
}
4.css的样式写法问题
<view className={`${styles.plan_title} at-article__h3`}>计划用途</view>
======
赋值的操作
data = data.map(item =>{
item.label = item.typename;
item.value = item.id;
return item;
})
me.setState({
checkboxOption: data
},()=>{
console.log('me.', me.state.checkboxOption)
})