Не удалось сопоставить массив и получить значения на экране, реагирующие на родной

#javascript #arrays #typescript #react-native

#язык JavaScript #массивы #машинописный текст #реагировать-родной

Вопрос:

 const DynPut: FClt;Propsgt; = Props =gt; {  const [value, setValue] = useStatelt;stringgt;(['1', '2', '3', '4']);   return (  lt;Viewgt;  {value.map(v =gt; {  lt;Textgt;{v}lt;/Textgt;;  })}  lt;/Viewgt;  ); };  

Не удалось получить значения 1-5 на экране. я использую машинопись, а также сохранил файл с .tsx расширением

Комментарии:

1. ; автоматически добавляется в конце внутри функции карты при сохранении файла. не в состоянии избавиться от этого

2. Вы где-то визуализируете компонент, например app.tsx?

3. да, рендеринг компонента в app.tsx

Ответ №1:

Синтаксис карты неверен, вместо этого используйте обычные скобки:

 {value.map((v) =gt; (  lt;Textgt;{v}lt;/Textgt; ))}  

Комментарии:

1.это решило проблему с ошибкой. но в некоторых случаях мы { } также используем. поправьте меня, если я ошибаюсь, если мы хотим написать более одной функции или операции внутри карты, то мы должны использовать { }

2. @AthavanT вы можете оставить это в качестве принятого ответа, я просто указал, что существуют различные методы.

Ответ №2:

к вашему сведению

map() ожидает возвращаемое значение, существует несколько возможностей, например:

 const data = [{ x: 55, y: 34 }, { x: 75, y: 12 }];  const result1 = data.map(d =gt; d.x); // inline  const result2 = data.map(d =gt; (  d.x // use round brackets ));  const result3 = data.map(d =gt; {  return d.x; // use return statement });  console.log(result1, result2, result3); 

Последний метод удобен, если вы хотите что-то сделать с данными, прежде чем возвращать значение.

 const data = [{ x: 55, y: 34 }, { x: 75, y: 12 }];  const result = data.map(d =gt; {  const xTimesFive = d.x * 5; // do something with the x value  const dividedByTwo = xTimesFive / 2;  return dividedByTwo; });  console.log(result);  // note, a simple calculation or check can also be done in the other methods console.log(data.map(d =gt; d.x gt; 60 ? "big" : "small")); 

Комментарии:

1. Потрясающий, лаконичный, но исчерпывающий ответ. ТИЛЬ, так что спасибо за это!

2. @jakehurt очень признателен 🙂