Я фокусирую div для прослушивания события keydown
, и у меня есть обертка, подобная этой:
class Wrapper extends react.Component {
componentDidMount() {
this.refs["profilebody"].focus();
this.refs["profilebody"].addEventListener(
"keydown",
this.props.onOverlayKeyDown,
false
);
}
componentWillUnmount() {
/// removing even listerner
}
render() {
<div className="modal_container" tabIndex="-1" ref={"profilebody"}>
{this.props.children}
</div>;
}
}
И в родителе говорят, что WrapperParent я меняю детей.
class WrapperParent extends React.component {
render() {
return (
<Wrapper>
{{
[`render-a`]: <A />,
[`render-b`]: <B />
}}
[this.state.screen]}
</Wrapper>
);
}
}
ПРИМЕЧАНИЕ: дочерние элементы всегда являются элементом React
Проблема в том, что когда я меняю детей в родителе, фокус переходит на тело вместо того, чтобы оставаться в указанном div.
Как мне сосредоточиться на div?