Попытка отфильтровать это отображение криптовалют по имени. Почему код ниже не работает?
По сути, при отправке формы я хотел бы взять это значение и передать его в функцию currencycies.filter. Где это говорит document.getElementById...
Когда он является
currency.currency === 'BTC'
это работает
Однако это не
currency.currency === document.getElementById('userInput')
Еще лучше было бы фильтровать форму в режиме реального времени, когда я печатаю, но для меня это кажется довольно сложной задачей.
Спасибо
import React from 'react'
import { withRouteData, Link } from 'react-static'
//
export default withRouteData(({ currencies }) => (
<div>
<Link to="/">Quoinex</Link>
<Link to="/qryptos"><b>Qryptos</b></Link>
<form id="form" onSubmit="return false;">
<input type="text" name="name" placeholder="BTC etc." id="userInput"/>
<input className="sub" type="submit" onClick="othername();" />
</form>
<h1>Tokens</h1>
<br />
<table className="myTable">
<tr>
<th>Crypto/Token</th>
<th>Min Withdrawal Qty</th>
<th>Min Order Qty</th>
</tr>
{ currencies.filter(currency => currency.currency === document.getElementById('userInput')).map(currency => (
<tr key={currency.currency}>
<td id="tokenName">{currency.currency}</td>
<td>{currency.minimum_withdrawal}</td>
<td>{currency.minimum_order_quantity}</td>
</tr>
))}
</table>
</div>
))
1 ответ
Document
метод getElementById()
возвращает объект Element, представляющий элемент, свойство id которого соответствует указанной строке. (Взято из MDN)
следовательно, это нормальный объект Javascript, для того чтобы получить входное фактическое значение, к которому нужно обратиться
document.getElementById('userInput').value