reactjs 更新挂钩时,应用程序滚动到顶部

3z6pesqy  于 2023-03-12  发布在  React
关注(0)|答案(1)|浏览(186)

我的应用程序使用的是带钩子的函数组件,任何时候一个钩子被更新,页面就会滚动到顶部。
如何使用钩子而不使它这样做?

export default function UserProduct(props) {
    // Setup variables and react hooks
    const [expanded, setExpanded] = React.useState(false);
    
    async function ExpandProduct(event) {
        var call = await ProductsTransactionsAPI(props.product.pk, props.product.type);
        if (call.Success) {
            setTransactions(call.Data.Transactions);
        }
        setExpanded(true);
    }

    return (
            <div style={{borderBottom: '1px solid #e0e0e0'}}>
                <div className="user-product" style={{display: 'flex', justifyContent: 'space-between'}}>
                    <div className="user-product-title">
                        <img src={image} height='75px'/>
                        {props.product.name}
                    </div>
                    <a href="#" onClick={() => ExpandProduct()}><ExpandMoreIcon/></a>
                </div>
            </div>
        )
}
col17t5w

col17t5w1#

所以这与HTML的a标签有关...当我真的只想让它运行一个javascript函数时,它却把它当作一个链接。
所以我们把这行改成:

<a href="#" onClick={() => ExpandProduct()}><ExpandMoreIcon/></a>

对此:

<a href="javascript:;" onClick={() => ExpandProduct()}><ExpandMoreIcon/></a>

相关问题