#javascript #arrays #reactjs #mapping #slice
#javascript #массивы #reactjs #сопоставление #срез
Вопрос:
Я пытаюсь создать карту внутри другой карты, однако, похоже, это противоположно тому, что я спрашиваю. Я хотел бы имитировать каждую карту рядом друг с другом, например:
A = B
A.1 = B.1
A.2 = B.2
и так, однако, вместо этого я получаю
A = B
A = B.1
A = B.2
A.1 = B
A.1 = B.1
A.1 = B.2
И так далее .. Вот мой код:
{titles.map((t, index) => (
<tr>
{console.log(this.state)}
<td key={index}>{t.toString() " : "}</td>
<td>{this.state.files.map((x, index) => (
<div key={index} style={{color:'#01579b', cursor: 'pointer', border: '1px ridge'}}
key={`link${index}`}
onClick={this.downloadFile.bind(null,x)}>{x.original_name}
</div>
))}
</td>
</tr>
))}
Ответ №1:
{titles.map((t, index) => (
<tr>
{console.log(this.state)}
<td key={index}>{t.toString() " : "}</td>
<td>
<div key={index} style={{color:'#01579b', cursor: 'pointer', border: '1px ridge'}} key={`link${index}`}
onClick={this.downloadFile.bind(null,this.state.files[index])}>
{this.state.files[index].original_name}
</div>
</td>
</tr>
))}
в приведенном выше блоке кода мы делаем это.state.files [index] т.е. когда на карте мы находимся с индексом 0 -> A, this.state .файлы [0] -> B
когда на карте мы находимся в индексе 1 -> A.1, this.state .файлы [1] -> B.1 и так далее.
Комментарии:
1. Спасибо за ваш ответ, но затем он сообщает мне: «Не удается прочитать свойство ‘original_name’ неопределенного».
2. можете ли вы проверить, какой результат вы получаете
this.state.files[index]
?3. удивительно, но результаты отображаются в cosole.log. Все они имеют original_name внутри, я не понимаю, откуда берется undefiend.
4. количество элементов в A и B одинаковой длины или разное? может быть вероятность, что B т.е. состояние. файлы содержат меньше элементов, чем заголовки, следовательно, это выдает ошибку
5. Я думаю, что это выдает ошибку, потому что она отображается, когда вещи закрыты. Позвольте мне изменить, чтобы она отображалась только в том случае, если что-то отображается, и я сообщу вам, если это сработает!