Многократная навигация. Нажатие на один и тот же экран всегда переходить к последнему в списке

У меня есть экран для отображения новостных статей. В новости может быть ссылка на другие статьи. Нажав на ссылку, я перехожу на другой экран с подробными сведениями о новостях, на котором отображаются новые статьи. Если есть только одна ссылка на другую статью, она работает нормально, даже вернуться. Но если у меня есть больше ссылок, я всегда перехожу к последней новостной статье, а не к конкретной новостной статье, на которую я нажимаю. Ссылка - это «идентификатор» статьи, передаваемый через параметр navigation.push внутри файла. Почему всегда используется идентификатор последней новости? Я помещаю идентификатор (infNum) в эту область, и он ссылается на правильный идентификатор каждой статьи, но кажется, что параметр idNews всегда является последним infNum. Вот мой код:'''

      {news.results.texte.map((content, index) => {
        if(content.substring(0,6) === '_Info_') {
            {
            finNum = content.indexOf("_T_");
            finLien = content.indexOf("_/Info_");
            infNum = content.substring(6,finNum);
            txtLien = content.substring(finNum+3,finLien)
            }
            //console.log(finNum," ",finLien," ",infNum," ",txtLien)
            return (
                <TouchableOpacity
                    style={styles.txtLien}
                    key={infNum}
                    onPress={() => {
                        navigation.push("NewsDetail", {idNews:infNum})}
                    }
                >
                    <Text>{txtLien}-{infNum}</Text>
                </TouchableOpacity>
            )
        } else {
            return (
              <Text style={styles.description_text} key={index}>{content}</Text>
            )
        }

'''

1 ответ

Я нашел проблему. Базовый Javascript. Переменная 'infNum', так как она не объявлена ​​с ключевым словом 'var', считается глобальной и поэтому принимает последнее заданное значение. Я просто вставил 'var infNum = content.substring ....', и это работает хорошо

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