#javascript #reactjs #ecmascript-6 #async-await #react-hooks
#javascript #reactjs #ecmascript-6 #async-ожидание #реагирующие хуки
Вопрос:
У меня есть кнопка React (Hook) с функцией onClick, вот мой компонент React Hook:
function FormatButton(props) {
const [loading, setLoading] = useState(false);
function handleClick(){
const formatter = new Formatter(props.filterResult);
}
return (
<Styles>
{(props.filterResult.length > 0 ?
<button onClick={handleClick}>Convert</button>
: '')}
<RingLoader
size={150}
color={"#35D4C7"}
loading={loading}
/>
</Styles>
)
}
export default FormatButton;
вот мой класс форматирования (не компонент react):
class Formatter{
constructor(data=[]){
this.data = _.map(data, currData => {
return _.mapValues(currData,value=>{ return this.format(value)})
})
}
}
Я использую, react-spainners
который мне нужно только передать значение состояния логического типа loading
для счетчика, я хотел бы установить loading
как ture
при const formatter = new Formatter(props.filterResult);
запуске, а затем установить loading
как false
при завершении инициализации класса форматирования.
Я думаю, может быть, я могу использовать async / await, но на самом деле не знаю, как использовать это при инициализации класса, есть ли какие-либо другие способы добиться этого? Большое спасибо за помощь!!
Комментарии:
1. Это не похоже на асинхронное действие, зачем вам счетчик?
2. @goto1 Я хотел бы показать экран загрузки при инициализации класса, а затем скрыть его, когда это будет сделано
3. Инициализация класса не является асинхронным действием, вам не нужен счетчик для создания нового экземпляра класса. Если в классе форматирования нет чего-то большего, что вы указали, я не вижу необходимости в счетчике здесь…