Сохранить ширину кнопки при загрузке React

103
16 апреля 2022, 19:30

Мой компонент:

return (
            <button
                className={ _className }
                onClick={ this.handleButtonClick }
                onMouseDown={ this.switchActiveStyle }
                onMouseUp={ this.switchActiveStyle }
                onMouseOut={ this.outBtnMouse }
                style={style}
            >
                <span className={ styles["button__content"] }>
                    { loading ? <Loader
                        size={this.getSpinnerSize()}
                        className={styles['spinner__self']}
                    /> : <span
                        className={ styles["button__text"] }
                    >
                        { this.renderChildren() }
                    </span> }
                </span>
            </button>
        );

При состоянии loading: true, появляется спинер. Как мне сохранить ширину кнопки меняя текст кнопки на спинер?

Answer 1

Передавайте в компонент название кнопки, считайте количество символов = N и ставьте min-width: Npx.

Что-то вроде:

const MyButton = (name) => {
   return <button style={{minWidth: name.lenght+'rem'}}>...</button>
}

Конкретные значения minWidth уже сами обсчитаете с вычетом всех отступов.

READ ALSO
Ошибка при подключении бд

Ошибка при подключении бд

При подключении к бд выдаёт ошибку "ER_ACCESS_DENIED_ERROR: Access denied for user 'gallium_quasar'@'ip-200-111-142-5pools

105
Задача на вложенность объектов [дубликат]

Задача на вложенность объектов [дубликат]

Подскажите пожалуйста , как решить подобную задачку ? ( была на собеседовании ) Не пойму, что делает последний аргумент ? Попытался получить...

106
Что такое микро и макрозадачи в JS?

Что такое микро и макрозадачи в JS?

Объясните , если можно, по простому что такое микро- и макрозадачи, а то мало информации на эту темуСпасибо!

126