我是React Native的新手,所以我知道我有很多东西要学习。
我在这里创建一个自定义类组件:
import React, { Component, useState } from 'react';
import {View,Text,StyleSheet,TextInput, Button} from 'react-native';
class Square extends React.Component{
constructor(pos,text,won,save){
this.state = {
pos : 0,
text : 'EDIT',
won : false,
save : false,
};
}
setPos = (pos) =>{
this.setState(pos)
}
getPos = () => {
return (this.pos);
}
setText=(text)=>{
this.setState(text)
}
getText=()=>{
return (this.text);
}
setWon=(won)=>{
this.setState(won)
}
getWon=()=>{
return (this.won);
}
setSave=(save)=>{
this.setState(save)
}
getSave=()=>{
return (this.save);
}
};
export default Square;
然后,我想在不同的组件中创建这些对象的数组,并显示每个对象的信息。
import {View, Text, StyleSheet, Button, Alert} from 'react-native';
import Square from '../components/Square';
const NewGameScreen = () => {
let arrSquare = [];
for (let i = 0; i < 25; i++){
arrSquare.push({
THIS IS WHERE I'M HAVING TROUBLE
});
}
console.log(arrSquare[0].getPos)
return(
<View style = {styles.screen}>
<View style = {styles.row}>
<Text>{arrSquare[0].getPos}</Text>
</View>
</View>
)
};
但是从以上代码中,我确定很明显我遗漏了一些东西。我本来希望使用类似的东西, Square[i].setPos(i);
但是会引发错误。控制台日志还给出了“ undefined”,这使我觉得我尚未声明某些内容或未正确声明它。提前致谢。
好吧,我要做的是拥有一个简单的json对象数组,如下所示:
let squareArr = [{
id: 0,
pos : 0,
text : 'EDIT',
won : false,
save : false,
},
{
id: 1,
pos : 0,
text : 'EDIT',
won : false,
save : false,
},
{
id: 2,
pos : 0,
text : 'EDIT',
won : false,
save : false,
}
]
然后您可以进行读取和编辑。
显示位置:
在渲染方法中,您可以执行以下操作:
<View style = {styles.screen}>
<View style = {styles.row}>
squareArr.map((square) => <Text>{square.pos}</Text>)
</View>
</View>
编辑职位:
如果要更改JSON中的值,则只需使用对象索引作为指示您想要更改的对象的方法。例如,要更改pos
第二个对象,则可以执行以下操作:
squareArr[1].pos = 3
我不太确定整个项目将为您提供最佳解决方案,但是我希望这会有所帮助。
随时问您有什么问题
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句