我正在使用Jest和Enzyme来测试React复选框组件。
这是我的测试:
it('triggers checkbox onChange event', () => {
const configs = {
default: true,
label: 'My Label',
element: 'myElement',
}
const checkbox = shallow(
<CheckBox
configs={configs}
/>
)
checkbox.find('input').simulate('click')
})
但是在运行测试时出现此错误:
TypeError: Cannot read property 'target' of undefined
这是我的组件的输入:
<div className="toggle-btn sm">
<input
id={this.props.configs.element}
className="toggle-input round"
type="checkbox"
defaultChecked={ this.props.defaultChecked }
onClick={ e => this.onChange(e.target) }
>
</input>
</div>
我 想
那我需要通过一个事件作为第二个对象simulate
,但我不知道如何做到这一点。
谢谢
simulate
函数采用其他参数,这些参数将传递给事件处理程序。您可以嘲笑事件。例如:
const mockedEvent = { target: {} }
checkbox.find('input').simulate('click', mockedEvent)
问题内容: 我想创建一个应用程序,其中应处理某些事件,就像它们被传递到父容器一样。例如,我有一个包含的。顶部立即实现了鼠标按下和拖动。为了使事件看起来像是到达的,而不是标签本身,我需要做什么。(更改源对象很重要) 是否有比实际实现事件并在父级中复制事件更好的解决方案?(在某些对象> 5个孩子之后,这将变得乏味)。 问题答案: 在事件侦听器中,您可以将事件调度到父组件。 作为事件处理函数参数: 但是
问题内容: 我在php中有对象,每个对象代表一个“项目”以及与之相关的所有信息。 当用户浏览页面时,这些对象应传递给javascript。理想情况下,镜像相同的结构,因此我可以使用Raphael在我的网站上将每个项目及其信息显示为单独的形状。 但是,如何将对象从php转换为javascript? 问题答案: 您可以将PHP对象转换为数组,然后使用JSON函数对其进行编码。之后,从JavaScrip
问题内容: 我正在用Mocha和Enzyme测试反应成分。这是组件(为简化起见,已简化): 这是测试: 我期望当用户在框中键入文本时,将调用该方法。上面的测试失败了: 我究竟做错了什么? 我应该澄清一下,我的目标是测试该方法是否被调用。我怎样才能做到这一点? 问题答案: 您可以直接通过原型直接监视该方法。 另外,您可以在实例的方法上使用间谍,但是您必须进行强制更新,因为在调用mount之后该组件已
问题内容: 这里有角的新手。我试图找出将对象传递给指令时出了什么问题。 这是我的指令: 这是我调用指令的模板: 是一组对象。 当我运行此,日志,而日志罚款的范围,甚至有一个与所有的数据,我找孩子。 我不确定我在这里做错了什么,因为这种确切的方法以前对我有用。 编辑: 我已经用所有必需的代码创建了一个插件:http ://plnkr.co/edit/uJCxrG 如您所见,该作用域在范围中可用,但我
下面您将找到应该调用的函数,而不是: 我可以为这些自定义类型创建工厂,并根据值生成类型,而不是传递给的类型,或者传递一个字符串化的对象(对象/数组、更多的对象/数组)。但我想知道(尤其是后者,它让我发冷)是否真的有必要。文档只提到这个函数,作为向区块链提交事务的一种方式。 我应该用我的工厂解决方案吗?是否有另一个函数,我可以使用它来提交使用类型的事务?或者这不是我应该构造我的链码的方式,我应该考虑
本文向大家介绍怎样将事件传递给子组件?相关面试题,主要包含被问及怎样将事件传递给子组件?时的应答技巧和注意事项,需要的朋友参考一下 这道题出的有问题。 一般情况下我们父组件向子组件传递的不是事件,而是事件处理函数