首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用酶法检测react-intl onChange

用酶法检测react-intl onChange
EN

Stack Overflow用户
提问于 2017-12-13 04:28:49
回答 1查看 204关注 0票数 0

我的react应用程序中有一个下拉按钮组件,可以让我更改语言

我的localeDropDown.js

代码语言:javascript
复制
import React from 'react'
import PropTypes from 'prop-types'
import Cookie from 'js-cookie'

const propTypes = {
  locale: PropTypes.string.isRequired
}

class LocaleDropDown extends React.Component {
  constructor () {
    super()
    this.state = {value: ''}
    this.handleLocaleChange = this.handleLocaleChange.bind(this)
  }

  handleLocaleChange (e) {
    Cookie.set('locale', e.target.value)
    window.location.reload()
  }

  componentDidMount () {
    this.setState({inputValue: Cookie.get('locale')})
  }

  render () {
    return <div>
      <select id="locale-value" onChange={this.handleLocaleChange} value={this.state.inputValue}>
        <option value="en">English</option>
        <option value="fr">French</option>
      </select>
    </div>
  }
}

LocaleDropDown.propTypes = propTypes

export default LocaleDropDown

我的测试结果是

代码语言:javascript
复制
      const handleLocaleChange = sinon.spy();
      const wrapper = shallow(<LocaleDropDown onChange = {handleLocaleChange}/>)
      const selectInput = wrapper.find("#locale-value")
      selectInput.node.value = 'en'
      wrapper.find('select').simulate('change', selectInput);
      expect(handleLocaleChange.called).toEqual(true)

但它给出了错误LocaleDropDown >在模拟更改时,应该调用handleLocaleChange

代码语言:javascript
复制
TypeError: Cannot add property value, object is not extensible

我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2017-12-13 04:50:00

像这样的mock event object can be passed along to simulate an event

代码语言:javascript
复制
wrapper.find('select').simulate('change', { target: { value: 'en' } })

有关方法签名的更多详细信息:

.simulate(event,...args) => Self

模拟事件

参数

event (String):需要模拟的事件名称

...args (任意可选):将传递给事件处理程序的模拟事件对象。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47781014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档