Я новичок в react js.
У меня есть компонент, где я показываю один значок, который
import React, { Fragment } from 'react';
const Sorting = (props) => {
return (
<span className="d-inline-flex">
<i className="fa fa-angle-down" aria-hidden="true" onClick={() => props.sortData(props.type, 'ascending')}></i>
)
}
export default Sorting;
Теперь, вот что я хочу сделать, это,
когда есть класс down
, то это нисходящий порядок, и если пользователь снова щелкнет по значку, это будет fa-angle-up
, и будет вызван щелчок по нему. Таким образом,
что я пытался это
import React, { Fragment } from 'react';
const Sorting = (props) => {
const toggleAngle = props.toggleAngle ? <i className="fa fa-angle-down sort-icon" aria-hidden="true" onClick={() => props.sortData(props.type, 'ascending', true)}></i> : <i className="fa fa-angle-up sort-icon" aria-hidden="true" onClick={() => props.sortData(props.type, 'descending', false)}></i>
return (
<span className="d-inline-flex">
{toggleAngle}
</span>
)
}
export default Sorting;
sortData = (key, order, toggleArrow) => {
if (order === 'ascending') {
this.setState({
toggleAngle: toggleArrow
})
this.props.sortAscending(key);
} else {
this.setState({
toggleAngle: toggleArrow
})
this.props.sortdescending(key);
}
}
Есть ли способ сделать это?
спасибо.