是否可以使用useState挂钩定位className?

时间:2019-11-20 16:32:00

标签: javascript reactjs react-hooks

是否可以在useState挂钩中定位className? target.className == "test"是我正在专门研究的内容。是否可以查找一个类,并且如果该类处于活动状态,则可以隐藏/显示另一个div页面元素?

我可能对此不太满意,但是正在寻找建议。

// Click tracking of className "test"
const [isSelected, setIsSelected] = useState(true)
const selectToggle = (target.className == "test") =>
  setIsSelected({ ...isSelected, [test]: !isSelected[test] })

1 个答案:

答案 0 :(得分:1)

您可以使用useRef来跟踪元素及其引用,并检查将记录其跟踪元素的控制台:

import React, { useState, useRef, useEffect } from 'react';
import ReactDOM from 'react-dom';

const App = () => {
  const [isSelected, setIsSelected] = useState(true);
  const elementRef = useRef();

  useEffect(() => {
    console.log(elementRef.current);
  });

  const toggle = () => setIsSelected(s => !s);

  return (
    <>
      {isSelected && <div ref={elementRef}>Im Tracked</div>}
      <button onClick={toggle}>{`Click to ${
        isSelected ? 'disable' : 'enable'
      }`}</button>
    </>
  );
};

ReactDOM.render(<App />, document.getElementById('root'));

Edit react-antd-styled-template