对于开发者来说,函数是对某一个功能的封装,那么 hook 就是对相同逻辑功能的封装。

    1. const useShowModal = (visible, data) => {
    2. const [modalVisible, setModalVisible] = useState(visible);
    3. const [modalData, setModalData] = useState(data);
    4. const updateModal = (v, d) => {
    5. setModalVisible(v);
    6. setModalData(d);
    7. };
    8. return {
    9. visible: modalVisible,
    10. data: modalData,
    11. updateModal,
    12. };
    13. };
    14. export default useShowModal;
    1. const {visible, data, updateModal} = useShowModal(false);
    2. const onAdd = () => {
    3. updateImportModal(true);
    4. }
    5. const onEdit = (item) => {
    6. updateModal(true, item);
    7. }
    8. const onCancel = () => {
    9. updateModal(false);
    10. }