好吧,这对我来说很奇怪,我的api应该抛出下一个字符串24、36、48,而我实际上我是在执行我的value变量获取该值的,所以我需要将其拆分为in 3 o,B,C(有时它有4个值,这就是为什么我有一个D变量),所以我这样分割字符串
`const [termA, termB, termC, termD] = values.split(',');
setvA(Number(termA));
setvB(Number(termB));
setvC(Number(termC));
setvD(Number(termD));`
,并且每个人都得到他们应获得的值,如果我的值是24,36,48,则滑块会出现问题,滑块会得到36,48,NaN 这是我的全部代码
这是api调用
const [sliderValue, setsliderValue] = useState();
const [sliderValue2, setsliderValue2] = useState(A);
const [A, setvA] = useState();
const [B, setvB] = useState();
const [C, setvC] = useState();
const [D, setvD] = useState();
const [pterms, setpterms] = useState([]);
const valuesFromApi = [ A,B,C,D];
const [Value, setValue] = useState(pterms[A]);
useEffect(() => {
async function BCcontroller() {
const vCreationUser = 6;
const vSolicitudeId = 8;
const { data } = await ForceApi.post(`/ConsultBCController.php`, {vSolicitudeId, vCreationUser});
const values = data.terms;
setpterms(data.terms);
//console.log(values);
const [termA, termB, termC, termD] = values.split(',');
setvA(Number(termA));
setvB(Number(termB));
setvC(Number(termC));
setvD(Number(termD));
// console.log(values);
}
BCcontroller();
}, );
if (!A) return null;
这是我的滑块
<View style={{alignItems: 'stretch', justifyContent: 'center' }}>
<Slider
maximumValue={D > 0 ? 4: 3 }
minimumValue={1}
step={1}
value={valuesFromApi.indexOf(Value)}
onValueChange={index => setValue(valuesFromApi[index])}
/>
<View style={styles.plazos}>
<Text style={styles.plazo1}>{A} meses</Text>
<Text style={styles.plazo2}>{B} meses</Text>
<Text style={styles.plazo3}>{C} meses</Text>
{D > 0 ? <Text style={styles.plazo3}>{D} meses</Text>: null }
</View>
<Text style={styles.slideText}>Su credito por: ${A}MXN</Text>
<Text style={styles.slideText}>Usted recibe: ${A}MXN</Text>
<Text style={styles.slideText}>A un plazo de: {Value} meses</Text>
<Text style={styles.PaymentText}>Su pago: ${A}.00 MXN</Text>
</View>