const svg = d3Select(mapRef.current) if (!onMoveStart || bypassEvents.current) return onMoveStart({ coordinates: projection.invert(getCoords(width, height, d3Event.transform)), zoom: d3Event.transform.k }, d3Event) if (bypassEvents.current) return const {transform, sourceEvent} = d3Event setPosition({ x: transform.x, y: transform.y, k: transform.k, dragging: sourceEvent }) if (bypassEvents.current) { bypassEvents.current = false return if (lon === lastPosition.current.x && lat === lastPosition.current.y && zoom === lastPosition.current.k) return const svg = d3Select(mapRef.current) svg.call(zoomRef.current.transform, d3ZoomIdentity.translate(width / 2 - x, height / 2 - y).scale(zoom)) setPosition({ x: width / 2 - x, y: height / 2 - y, k: zoom })
const useDependencyDebugger = inputs => { const oldInputsRef = useRef(inputs); const inputValuesArray = Object.values(inputs); const inputKeysArray = Object.keys(inputs); useMemo(() => { const oldInputs = oldInputsRef.current; compareInputs(inputKeysArray, oldInputs, inputs); oldInputsRef.current = inputs; }, inputValuesArray); // eslint-disable-line react-hooks/exhaustive-deps }
const usePrevious = value => { const ref = useRef(); useEffect(() => { ref.current = value; }); return ref.current; }
getFieldDecorator('category_name', { rules: [{required: true, message: '对象分类必填'}] })( <Select placeholder="请选择" onChange={value => { modelRef.current.category_name = value }}> {categoryList.map(c => ( <Select.Option key={c.key} value={c.key}>{c.value || c.key}</Select.Option> ))} </Select> )
const useDependencyDebugger = inputs => { const oldInputsRef = useRef(inputs); const inputValuesArray = Object.values(inputs); const inputKeysArray = Object.keys(inputs); useMemo(() => { const oldInputs = oldInputsRef.current; compareInputs(inputKeysArray, oldInputs, inputs); oldInputsRef.current = inputs; }, inputValuesArray); // eslint-disable-line react-hooks/exhaustive-deps }