函数式组件中实现Antd打开Modal后其Input框自动聚焦(focus)到文字的最后

目前React使用函数式组件已经成为趋势, 如何把React函数式组件用好, 提高性能, 从而实现业务需求也成为了一种能力的体现......咳咳咳, 进入正题:
现实场景需求 我想实现这一个需求, 父组件收到文字消息后将其传送给子组件, 子组件是一个Antd组件中的Modal, 里面只有一个input输入框, 子组件收到父组件传过来的文字消息后打开Modal对话框, 其input输入框中的默认值为父组件传递过来的文字消息, 并且自动focus到文字消息的最后, 从而方便用户输入, 当输入完之后, 点击确定按钮调用函数再把消息发送回去.
遇到的问题 怎么说呢, 我本来是打算使用一个给input输入框一个ref(inputRef), 然后当modal框打开时, 使用useEffect副作用钩子, 然后通过使用inputRef的foucs函数来实现自动聚焦, 然而想象是美好的, 现实是残酷的, 如果这么容易能解决我就不会写博客了, 先上错误代码:

import React, { useRef, useEffect } from 'react' import { Input, Modal } from 'antd' // 引入useSelector用于读取redux store中保存的数据, 引入useDispath用于分发数据 import { useSelector, useDispatch } from "react-redux" // 引入action import { change_input_modal_visible } from "../../redux/actions/visible" const { TextArea } = Input// props 传递过来的是发送消息的函数和文本编辑框已有的内容textContent export default function InputModal(props) { const inputRef = useRef() // store dispatch const dispatch = useDispatch() // store里保存的数据, 来控制modal是否显示, 父组件收到文本框编辑消息后会改为true, 从而显示modal对话框 const inputModalVisible = useSelector(state => state.visible.inputModalVisible)// 如果inputModalVisible为true, 聚焦input框 useEffect(() => { if(inputModalVisible) { inputRef.current.focus({ cursor: 'end' }) } }, [inputModalVisible, inputRef])const handleOk = () => { let textValue= https://www.it610.com/article/inputRef.current.resizableTextArea.props.value console.log(textValue) // 去除前后多余的空格 let res = textValue.trim() // 如果内容不为空才发送给UE4程序, 具体发送逻辑省略 // 将modal对话框关闭 dispatch(change_input_modal_visible(false)); }; // 取消发送消息 const handleCancel = () => { // 将modal对话框关闭 dispatch(change_input_modal_visible(false)); }; return (