小编Mar*_*ryj的帖子

Jest,Enzyme:Invariant Violation:你不应该在<Router>之外使用<Route>或withRouter()

我有一个<UserListComponent />输出一个<Contact />组件和提供的联系人列表<Contacts />.

问题是,在<UserListComponent />我尝试安装它的测试中,测试输出错误Invariant Violation: You should not use <Route> or withRouter() outside a <Router>

withRouter()用于<Contacts />组件.

如何ContactsComponent在没有路由器的情况下模拟父组件的测试?

我发现了一些类似的问题https://www.bountysource.com/issues/49297944-invariant-violation-you-should-not-use-route-or-withrouter-outside-a-router 但它只描述了组件的情况单独覆盖withRouter(),而不是儿童.

UserList.test.jsx

const mockResp = {
  count: 2,
  items: [
    {
      _id: 1,
      name: 'User1',
      email: 'email1@gmail.com',
      phone: '+123456',
      online: false
    },
    {
      _id: 2,
      name: 'User2',
      email: 'email2@gmail.com',
      phone: '+789123',
      online: false
    },
    {
      _id: 3,
      name: 'User3',
      email: 'email3@gmail.com',
      phone: …
Run Code Online (Sandbox Code Playgroud)

reactjs jestjs enzyme

40
推荐指数
6
解决办法
3万
查看次数

Ubuntu"E:无法找到包mysql"

无法解决问题,因为没有任何帮助.尝试安装mysql但找不到包.gedit和其他一些包看起来一样.

首先,存储库具有子域'by'.(因区域设置).但是我将它们更改为没有子域的主服务器.也许这会引起问题?

我使用xubuntu 16.04 xenial xerus.

source.list是

# deb cdrom:[Xubuntu 16.04.1 LTS _Xenial Xerus_ - Release amd64 (20160719)]/ xenial main multiverse restricted universe

deb http://archive.ubuntu.com/ubuntu xenial main restricted    
deb http://archive.ubuntu.com/ubuntu xenial-updates main restricted    
deb http://archive.ubuntu.com/ubuntu xenial universe    
deb http://archive.ubuntu.com/ubuntu xenial-updates universe    
deb http://archive.ubuntu.com/ubuntu xenial multiverse
deb http://archive.ubuntu.com/ubuntu xenial-updates multiverse   
deb http://archive.ubuntu.com/ubuntu xenial-backports main restricted universe multiverse    
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner    
deb http://archive.ubuntu.com/ubuntu xenial-security main restricted    
deb http://archive.ubuntu.com/ubuntu xenial-security universe    
deb http://archive.ubuntu.com/ubuntu xenial-security multiverse
Run Code Online (Sandbox Code Playgroud)

apt-get update, …

linux ubuntu

7
推荐指数
1
解决办法
3万
查看次数

使用PHP和AJAX发送电子邮件表单

我在我的网站上有联系表格.它会向电子邮件发送消息.我尝试在没有使用AJAX的页面重新加载的情况下完成它,但似乎AJAX不起作用:消息被发送但页面仍然重定向到call-form.php.我的代码中有什么不对?(包含jQuery)

HTML

<form name="freeCall" action="<?php bloginfo(template_url); ?>/mail/call-form.php" method="post" class="popover-form" id="free-call-form">  
    <label for="name1">Name</label><span class="pull-right close">&times;</span><input placeholder="Name" name="call-name" type="text" id="name1" >  
    <label for="phone">Phonenumber</label><input name="phone" type="text" value="" placeholder="+375" id="phone" >    
    <input type="submit" value="Call me back" >       
</form>
Run Code Online (Sandbox Code Playgroud)

PHP - call-form.php

<?
if((isset($_POST['call-name']))&&(isset($_POST['phone'])&&$_POST['phone']!="")){ 
        $to = 'test@gmail.com';
        $subject = 'Callback';
        $message = '
                <html>
                    <head>
                        <title>Call me back</title>
                    </head>
                    <body>
                        <p><b>Name:</b> '.$_POST['call-name'].'</p>
                        <p><b>Phonenum:</b> '.$_POST['phone'].'</p>                        
                    </body>
                </html>'; 
        $headers  = "Content-type: text/html; charset=utf-8 \r\n"; 
        $headers .= "From: Site <info@mail.com>\r\n"; 
        mail($to, $subject, $message, $headers); 
}
?> …
Run Code Online (Sandbox Code Playgroud)

javascript php forms ajax jquery

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

ajax ×1

enzyme ×1

forms ×1

javascript ×1

jestjs ×1

jquery ×1

linux ×1

php ×1

reactjs ×1

ubuntu ×1