Я использую React useState для объявления своего объекта:
const [results, setResults] = useState();
console.log(results);
В том же файле я возвращаю компонент React и передаю ему некоторые реквизиты:
<Table
data={results ? results.Companies : []}
setData={(newArr) => {
let newResults = results;
newResults.Companies = newArr.slice(0);
console.log(newResults);
return setResults(newResults);
}}
/>
PS: Keep имея в виду, что я передаю данные только результаты. Компании , который является массивом .
В этом компоненте Таблица Я меняю свойство results.Companies :
props.setData(arr);
Итак, когда он запускает функцию в компоненте * Таблица :
setData={(newArr) => {
let newResults = results; // I am assigning to newResults current result state
newResults.Companies = newArr.slice(0); // I am replacing newResults.Companies with new array I want to pass
console.log(newResults); // HERE is the desired results output
return setResults(newResults);
}}
* Переменная 1027 * newResults - это именно тот результат, который я хочу передать в setResutlts. Но этот параметр не запускает повторный рендеринг, и, например, этот console.log (results) не вызывается. Почему он не запускается после того, как я передаю новое значение в setResults ()