Как установить значение массива в другой функции с помощью реакции js

У меня есть два метода в App.J, как показано ниже.

function abc ()   {
    const a = ["Saab", "Volvo", "BMW"]
}

function def() {
    // I want to use abc() array value of**a** here in def()
}

Как этого добиться?

Вы можете просто извлечь массив из функции abc?

Arnaud Flaesch 25.05.2024 21:54

Если вы не хотите изменять содержимое массива a, просто верните его из abc() и внутри def() добавьте a = abc().

cicada_ 25.05.2024 21:54

импортировать React, {useState} из «реагировать»; импортировать Папу из papaparse; экспортировать функцию по умолчанию App() { const [data, setData] = useState([]); const handleFile =(e) =>{ Papa.parse(e.target.files[0],{ header:true,skipEmptyLines:true, Complete:function(result){ const filterResultArray =[]; filterResultArray.push(result. data); setData(filterResultArray); //FilterResultArray Имея значение } }) } const CalculationMapping = ()=> { console.info(data); //здесь данные не отображаются }

Biswajit Satpathy 26.05.2024 10:32
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
1
3
56
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Просто определите функцию abc следующим образом:

function abc () {
   const cars = ["BMW", "Volvo", "Saab"];
   return cars;
}

И ваша функция def будет такой:

function def () {
   const carsFromAbc = abc();
   console.info(carsFromAbc)
}

def(); // ["BMW", "Volvo", "Saab"]

Но если у вас есть два метода, как показано ниже, function handleFile (e) { Papa.parse(e.target.files[0],{ header:true,skipEmptyLines:true, Complete:function(result){ const filterResultArray =[]; filterResultArray .push(result.data); }) }) } function CalculationMapping () { //здесь я хочу прочитать значение filterResultArray ..Как получить доступ }

Biswajit Satpathy 26.05.2024 06:18

В этом случае вы можете использовать состояния, чтобы иметь доступ к массиву во всех ваших функциях. Подробнее о состояниях: response.dev/learn/managing-state

Armin 26.05.2024 08:42

импортировать React, {useState} из «реагировать»; импортировать Папу из papaparse; экспортировать функцию по умолчанию App() { const [data, setData] = useState([]); const handleFile =(e) =>{ Papa.parse(e.target.files[0],{ header:true,skipEmptyLines:true, Complete:function(result){ const filterResultArray =[]; filterResultArray.push(result. data); setData(filterResultArray); //FilterResultArray Имея значение } }) } const CalculationMapping = ()=> { console.info(data); //здесь данные не отображаются }

Biswajit Satpathy 26.05.2024 09:09

Вы должны определить функцию CalculMapping внутри функции приложения.

Armin 26.05.2024 11:18

Это было определено в моем реальном коде. Но в консоли я не получаю значение import React, { useState } из «реагировать»; импортировать Папу из papaparse; экспортировать функцию по умолчанию App() { const [data, setData] = useState([]); const handleFile =(e) => { Papa.parse(e.target.files[0], { header:true,skipEmptyLines:true, Complete:function(result) { const filterResultArray =[]; filterResultArray.push(result. data); setData(filterResultArray); //FilterResultArray Имея значение } }) } const CalculationMapping = ()=> { console.info(data); //здесь данные не отображаются } }

Biswajit Satpathy 26.05.2024 11:24

Вот более простая версия вашего кода. Вы следуете этому шаблону? импортировать React, {useState} из «реагировать»; импортировать Папу из «papaparse»; экспортировать функцию по умолчанию App() { const [data, setData] = useState([]); const handleFile = (e) => { setData("Test"); }; const CalcMapping = () => { console.info(data); }; дескрипторФайл(); ВычислитьСопоставление(); }

Armin 26.05.2024 11:36

Или еще одна практика: вы можете использовать функцию стрелки, как здесь:

const abc = () => ["Saab", "Volvo", "BMW"]

Затем функцию def и запустите ее.

function def() {
    const abcValue = abc()
    console.info(abcValue)
}

// run
def()

Другие вопросы по теме