<div onClick={this.methodChange} />
ты не можешь влиять на то, какие аргументы будут переданы при вызове в метод methodChange. То есть, если тебе туда надо передать не стандартный браузерный event, а что-то другое, например, свои переменные, тебе придётся писать вот так:<div onClick={() => methodChange(arg1, arg2, ...)} />
methodChange = (arg1, arg2, ...) => () => {
// your code
}
render() {
// ...
return (
<div onChange={ this.methodChange(arg1, arg2, ...) } >
)
}
onSearch={onFilter} // это будет аналогично onSearch={value => onFilter(value)}
... (react component)
state = { isAuthenticated: false, userRole: null };
componentDidMount() {
this.setUser();
}
setUser = () => {
try {
const token = JSON.parse(localStorage.getItem("jwt"));
const userRole = token.direct.role;
this.setState({ isAuthenticated: true, userRole })
} catch(err) {
console.error(err);
}
}
render() {
const { isAuthenticated, userRole } = this.state;
if (!isAuthenticated) return null;
... (остальная логика рендера, условия вида ['Директор', 'Управляющий' , 'role name'].includes(userRole) ? ...code... : ...code... ;
) ...
}
};
лишние