Javascript 反应本机数组属性
我有两个组件,一个是父组件(Javascript 反应本机数组属性,javascript,arrays,reactjs,react-native,react-props,Javascript,Arrays,Reactjs,React Native,React Props,我有两个组件,一个是父组件(ManySpace),另一个是子组件(OtherComponent)OtherComponent为ManySpace道具呈现两个具有两个不同数组的ManySpace组件 MANYSPACE1和MANYSPACE2渲染是完美的,但是混淆了第一个ManySpace和第二个ManySpace组件数组的内容,我如何解决这个问题,谢谢。 希望我能解释我的问题 import React, { Component } from 'react'; //and other import
ManySpace
),另一个是子组件(OtherComponent
)OtherComponent
为ManySpace
道具呈现两个具有两个不同数组的ManySpace
组件
MANYSPACE1和MANYSPACE2渲染是完美的,但是混淆了第一个ManySpace和第二个ManySpace组件数组的内容,我如何解决这个问题,谢谢。
希望我能解释我的问题
import React, { Component } from 'react'; //and other imports
let MANYSPACE;
let icerik;
let firsttext;
let firstinput;
let answer1;
let answerlength1;
let secondtext;
let secondinput;
class ManySpace extends Component {
render() {
MANYSPACE = this.props.manyspace;
icerik = MANYSPACE[0].icerik;
firsttext = MANYSPACE[0].firsttext;
firstinput = MANYSPACE[0].firstinput;
if (firstinput) {
answer1 = MANYSPACE[0].firstinput.answer1;
answerlength1 = answer1.length;
}
secondtext = MANYSPACE[0].secondtext;
secondinput = MANYSPACE[0].secondinput;
if (secondinput) {
answer2 = MANYSPACE[0].secondinput.answer2;
answerlength2 = answer2.length;
}
return (
)
}
--我的另一部分
import React, { Component } from 'react'; //and other imports
const MANYSPACE1 = [
{
icerik: 'lorem ipsum',
firsttext: 'lorem ipsum',
firstinput: {
answer1: 'lorem ipsum'
},
secondtext: 'lorem ipsum'
}
];
const MANYSPACE2 = [
{
icerik:'lorem ipsum',
firsttext: 'lorem ipsum',
firstinput: {
answer1: 'lorem ipsum'
},
secondtext: 'lorem ipsum',
secondinput: {
answer2: 'lorem ipsum'
},
thirdinput: {
answer3: 'lorem ipsum'
}
}
];
class OtherComponent extends Component {
<ManySpace
manyspace={MANYSPACE1}
/>
<ManySpace
manyspace={MANYSPACE2}
/>
}
import React,{Component}来自'React'//及其他进口货品
常数MANYSPACE1=[
{
icerik:“lorem ipsum”,
第一个文本:“lorem ipsum”,
第一输入:{
回答1:“同侧眼”
},
第二个文本:“lorem ipsum”
}
];
常数MANYSPACE2=[
{
icerik:“lorem ipsum”,
第一个文本:“lorem ipsum”,
第一输入:{
回答1:“同侧眼”
},
第二个文本:“lorem ipsum”,
第二输入:{
回答2:“同侧眼”
},
第三句:{
回答3:‘lorem ipsum’
}
}
];
类OtherComponent扩展组件{
}
在render
方法中创建变量,而不是为所有ManySpace
实例共享单个变量
示例
import React, { Component } from "react"; //and other imports
class ManySpace extends Component {
render() {
const MANYSPACE = this.props.manyspace;
const { icerik, firsttext, firstinput } = MANYSPACE[0];
let answer1, answerlength1;
if (firstinput) {
answer1 = MANYSPACE[0].firstinput.answer1;
answerlength1 = answer1.length;
}
const { secondtext, secondinput } = MANYSPACE[0];
let answer2, answerlength2;
if (secondinput) {
answer2 = MANYSPACE[0].secondinput.answer2;
answerlength2 = answer2.length;
}
return (
{/* ... */}
);
}
}
感谢您的回复,但我的错误是我使用了渲染范围之外的变量我尝试了并且secondinput不可用警告,我在渲染函数之外是这样做的Submitediting1=()=>{if(secondinput){this.secondref.focus();}else if(thirdinput){this.thirdref.focus();}else{Keyboard.dismise();}@Radex26在回答问题后不更新该问题。如果你觉得这个问题已经得到了回答,请接受答案,然后创建一个全新的问题。好吧,对不起,我的错,我忘了这篇文章,但是我如何解决这个问题,如果你能解决,我很满意