redux フォームを使用するとエラーが発生します。私のファイル名には「検索は読み取り専用です」と表示されます。これは redux フォームの問題ですか、それとも他の問題ですか? 接続と何か関係がありますか?今のところ、フォームで古い方法しか使用できません
import React from 'react';
import {connect} from 'react-redux';
import {bindActionCreators} from 'redux';
var Select = require('react-select');
import {fetchAllEmails, searchUsers} from '../actions/searchAction';
import {getDashBoardDataFromEmail, clearUserState} from '../actions/dashboardAction';
var LocalToken = localStorage.getItem('token');
import _ from 'lodash';
import {reduxForm} from 'redux-form';
const Search = React.createClass({
contextTypes:{
router: React.PropTypes.object.isRequired
},
getInitialState: function(){
return {
value:'xyz'
}
},
componentWillMount: function(){
this.props.fetchAllEmails(LocalToken);
},
handleChange: function(e){
this.props.getDashBoardDataFromEmail(LocalToken,e)
this.context.router.push('/dashboard')
},
handleSearchChange(e) {
this.setState({ value: e.target.value });
},
handleInputSubmit(){
console.log('hello')
},
render(){
const {fields: {someFormField, handleInputSubmit} }= this.props;
return(
<div>
<h3 style={{textAlign:'center',color:'#b4b7c1'}}>Search</h3>
<h6>Search for something</h6>
<form onSubmit={this.handleInputSubmit}>
<div>
<input type="text" placeholder="Search By ..." {...someFormField} />
</div>
</form>
</div>)
}
})
Search = reduxForm({
form:'Search',
fields:['someFormField']
})(Search)
function mapStateToProps({ search,dashboardData,tokenValue }) {
return { search, dashboardData, tokenValue }
}
//functions from action
function mapDispatchToProps(dispatch){return bindActionCreators({fetchAllEmails, searchUsers, getDashBoardDataFromEmail, clearUserState},dispatch)}
export default connect(mapStateToProps, mapDispatchToProps)(Search);