Я хочу, чтобы все мои компоненты, использующие input[type=text], автоматически получали направление RTL или LTR на основе пользовательского ввода.
Раньше (2 или 3 года назад) я использовал jQuery, чтобы выбрать все эти входные данные и применить свой сценарий, например это. Но как лучше всего реализовать эту функцию в React?





создайте оболочку вокруг компонента Input и выполняйте свою логику внутри этого компонента :) Затем везде в коде используйте ваш <CustomInput /> вместо <input ...>.
Обновлено:
включающий пример кода обертывания элемента ввода:
import React from "react";
class CustomInput extends React.Component {
render() {
const {onChange, ...otherProps} = this.props;
// Please provide onChange callback to make this Input element "Controlled"
// otherProps are there for things like default value etc. :)
return(
<input type = "text" onChange = {onChange} />
);
}
}
export default CustomInput;
и если вы не будете использовать какие-либо методы жизненного цикла, вы даже можете реализовать этот компонент как функцию
import React from "react";
const CustomInput = ({onChange, ...otherProps}) => (
<input type = "text" onChange = {onChange} />;
);
export default CustomInput;
Это не простой способ. У меня много входов, и я не хочу изменять их код или компонент.