javascript - 每当我点击连接元掩码按钮时,为什么它会连接 coinbase 钱包?

标签 javascript reactjs blockchain thirdweb

实际上,我想在 Onclick 上连接钱包,每当我单击断开连接按钮时,它就会断开钱包连接。我访问过许多网络应用程序,例如moralis、thirdweb、coinbase,但无法完全理解。

These are the buttons to connect to wallets

Here you can see the coin base wallet is open while i click on connect metamask

这是代码:

App.js

>  import { ChainId,ThirdwebProvider } from "@thirdweb-dev/react";
> function App() {   return (
>     <CanvasProvider>
>       <ChakraProvider theme={theme}>
>       <ThirdwebProvider desiredChainId={ChainId.Mainnet}>
>         <Editor />
>         </ThirdwebProvider>
>       </ChakraProvider>
>     </CanvasProvider>   ); }
> 
> export default App;

钱包.js

import { useAddress, useDisconnect, useMetamask, useCoinbaseWallet, useWalletConnect } from "@thirdweb-dev/react";



const Wallet = () => {
    const connectWithMetamask = useMetamask();
    const connectWithCoinBase = useCoinbaseWallet()
    const connectWithWalletConnect = useWalletConnect();
    const address = useAddress();
    const disconnectWallet = useDisconnect()
    const { isOpen, onOpen, onClose } = useDisclosure()
    return (
        <>
            <Button
                onClick={onOpen}
                bgColor={'#1890ff'}
                color={'white'}
                _hover={{ bgColor: '', color: 'white' }}
            >
                Connect Wallet
            </Button>

            <Modal isOpen={isOpen} onClose={onClose} >
                <ModalOverlay />
                <ModalContent bgColor={'#001529'} textColor={'white'}>
                    <ModalHeader>Connect a Wallet</ModalHeader>
                    <ModalCloseButton />
                    <ModalBody>
                        <VStack align={'center'} justify={'center'}>
                            <Button onClick={() => connectWithMetamask()} w={'full'} bgColor={'#205375'} _hover={{ color: "#001529" }}>
                                <Stack direction={'row'} align={'center'}>
                                    <Text>Connect MetaMask</Text>
                                    <Img src={meta} boxSize={'6'} />
                                </Stack>
                            </Button>

                            <Button onClick={() => connectWithCoinBase()} w={'full'} bgColor={'#205375'} _hover={{ color: "#001529" }}>
                                <Stack direction={'row'} align={'center'}>
                                    <Text>Connect Coinbase</Text>
                                    <Img src={coinbase} boxSize={'6'} />

                                </Stack>

                            </Button>

                            <Button onClick={() => connectWithWalletConnect()} w={'full'} bgColor={'#205375'} _hover={{ color: "#001529" }}>
                                <Stack direction={'row'} align={'center'}>
                                    <Text> Connect WalletConnect</Text>
                                    <Img src={coinbase} boxSize={'6'} />
                                </Stack>
                            </Button>


                            <Button onClick={disconnectWallet} w={'full'} bgColor={'#205375'} _hover={{ color: "#001529" }}>
                                <Stack direction={'row'} align={'center'}>
                                    <Text> Disconnect Wallet</Text>

                                </Stack>

                            </Button>
                        </VStack>
                    </ModalBody>
                </ModalContent>
            </Modal>
        </>
    )
}

最佳答案

MetaMask 和 Coinbase 钱包都使用“注入(inject)”以太坊提供商,当您在同一浏览器中安装 Coinbase 和 MetaMask 时,您会看到错误。

future 版本的thirdweb SDK将修复此行为,但现在这就是您看到错误的原因。

我的建议是只使用其中一个钱包连接器,但在修复之前不要同时使用两者。

关于javascript - 每当我点击连接元掩码按钮时,为什么它会连接 coinbase 钱包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72613011/

相关文章:

javascript - 通过使用源对象数组中的属性按特定顺序进行分组来形成数组

android - BackHandler 无法正常工作 React Native

reactjs - 在React和React Router中,如何在除主页之外的每个页面上显示标题

javascript - 在 React 中获取 Click 的输入值

blockchain - 我可以将 XRP 发送到多个地址吗?

javascript - 解析高度属性时出现意外值 {{specs.height}}。索引.html

javascript - 在 CSS 中保持鼠标焦点

javascript - 推开然后恢复 “mouse move” 上的点位置

hyperledger-fabric - 在 Hyperledger Fabric 中更新证书时会发生什么?

blockchain - 如何在 Binance 中生成新的存款 Tether 地址