#javascript #reactjs
#javascript #reactjs
Вопрос:
я хочу выполнить синтаксический анализ массива в react js. Мой массив (он может меняться, но это пример
[ "save", "save", "not", "save"]
По сути, я пытаюсь создать функцию, которая запускает другую функцию каждый раз, когда он видит «сохранить».
Прямо сейчас у меня есть
check(el) {
if (el === "save")
this.onSave()
if (el === "not")
this.onNot()
}
componentWillMount() {
var map_take = JSON.parse(localStorage.getItem("tests"));
{_.map(map_take, el => this.check(el))}
}
Но моя главная проблема заключается в том, что когда я запускаю свою программу, он выполняет один раз, а после уходит. Я хотел бы знать, возможно ли создать функцию, которая запускает другую функцию X раз, а не только для первого элемента моего массива.
Комментарии:
1. Я не совсем уверен, что вам нужно, вы просите вызывать функцию проверки каждый раз, когда localStorage обновляется?
2. @AntonioErdeljac извините, я не очень понимаю, я просто хочу вызывать свою функцию OnSave каждый раз, когда у меня есть «save», а мою функцию «onNot» каждый раз, когда у меня нет на моей карте, и моя проблема в том, что прямо сейчас моя функция OnSave () вызывается только один раз
3. Вам действительно нужен этот.onNot()? Что он делает?
Ответ №1:
Мне кажется, у вас есть некоторые ненужные сложности в вашем коде. Попробуйте что-то вроде этого:
componentDidMount() { // componentWillMount is deprecated
const tests = JSON.parse(localStorage.getItem("tests"));
tests.forEach((test) => {
console.log(test); // this should fire 4 times with results like "save" or "not" just to check if everything is allright
if (test === 'save') {
this.onSave();
} else if (test === 'not') {
this.onNot()
}
})
}