Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs Redux表单,从状态初始化表单_Reactjs_Redux_Redux Form - Fatal编程技术网

Reactjs Redux表单,从状态初始化表单

Reactjs Redux表单,从状态初始化表单,reactjs,redux,redux-form,Reactjs,Redux,Redux Form,我正在尝试将此示例集成到我的应用程序中: 不幸的是,我似乎无法让它发挥作用。为了使它适合我的应用程序需要,我不得不做了一些更改,因此最值得注意的更改是,我传递的不是一个action对象到connect()中,而是一个返回action的函数。此外,我将状态映射到属性的语法略有不同,但应该会产生相同的结果 但最让我困惑的是,它如何知道标签(从redux检索)的哪些属性映射到哪些表单字段 我真的不知道“什么”会触发正在初始化的表单。这是连接方法吗 有什么建议我可以尝试让这个工作 // edit.js

我正在尝试将此示例集成到我的应用程序中:

不幸的是,我似乎无法让它发挥作用。为了使它适合我的应用程序需要,我不得不做了一些更改,因此最值得注意的更改是,我传递的不是一个action对象到
connect()
中,而是一个返回action的函数。此外,我将状态映射到属性的语法略有不同,但应该会产生相同的结果

但最让我困惑的是,它如何知道标签(从redux检索)的哪些属性映射到哪些表单字段

我真的不知道“什么”会触发正在初始化的表单。这是连接方法吗

有什么建议我可以尝试让这个工作

// edit.js

import React from 'react';
import { Field, reduxForm, initialize } from 'redux-form'
import { connect } from 'react-redux';
import { fetchTag } from '../../actions/tags-actions';
import { updateTag } from '../../actions/tags-actions';
import EditTagForm from '../../components/edit-tag-form';

class EditTag extends React.Component {

  EditTagForm = reduxForm({
    form: 'editTagForm'
  })(EditTagForm);

  handleSubmit(values) {
    const tag = {
      "name": values.tagName,
      "disambiguation": values.tagDisambiguation,
      "status": values.status || "published",
      "domain": "some_domain", // @todo hardcoded
      "type": values.tagType || "Person"
    };
    this.props.dispatch(updateTag(tag));
  }
  render() {
    return (
      <div>
        <p>{this.props.tag.name}</p>
        <EditTagForm onSubmit={this.handleSubmit.bind(this)}/>
      </div>
    );
  };
}

const mapStateToProps = state => ({
  tag: { ...state.tags.tags[0] },
  fetching: state.tags.fetching,
  fetched: state.tags.fetched,
  error: state.tags.error,
  initialValues: { ...state.tags.tags[0] }
});

// @todo fetching a hardcoded tag
export default connect(mapStateToProps, fetchTag("237171c8-bc6b-498b-abbf-99a595d6442d"))(EditTag);

// tags-actions.js

...

export function fetchTag(uuid) {
    return function(dispatch) {
      api.getTagFromUuid([uuid], {})
        .then((response) => {
          dispatch({type: "FETCH_TAGS_FULFILLED", payload: {
            tags: [response.body]
          }});
        })
        .catch((req) => {
          dispatch({type: "FETCH_TAGS_REJECTED", payload: { response: req.response }});
        });
    };
}

...
//edit.js
从“React”导入React;
从“redux form”导入{Field,reduxForm,initialize}
从'react redux'导入{connect};
从“../../actions/tags actions”导入{fetchTag};
从“../../actions/tags actions”导入{updateTag};
从“../../components/edit tag form”导入EditTagForm;
类EditTag扩展了React.Component{
EditTagForm=reduxForm({
表单:“editTagForm”
})(编辑格式);
handleSubmit(值){
常量标记={
“名称”:values.tagName,
“消歧”:values.tag消歧,
“状态”:values.status | |“已发布”,
“域”:“某个域”,//@todo硬编码
“类型”:values.tagType | |“Person”
};
this.props.dispatch(updateTag(tag));
}
render(){
返回(
{this.props.tag.name}

); }; } 常量mapStateToProps=状态=>({ 标记:{…state.tags.tags[0]}, 获取:state.tags.fetching, 已获取:state.tags.fetched, 错误:state.tags.error, 初始值:{…state.tags.tags[0]} }); //@todo正在获取硬编码标记 导出默认连接(MapStateTrops,fetchTag(“237171c8-bc6b-498b-abbf-99a595d6442d”)(EditTag); //tags-actions.js ... 导出函数fetchTag(uuid){ 返回功能(调度){ api.getTagFromUuid([uuid],{}) 。然后((响应)=>{ 分派({type:“FETCH_TAGS_completed”),有效负载:{ 标签:[响应.正文] }}); }) .catch((请求)=>{ 分派({type:“FETCH_TAGS_REJECTED”,有效负载:{response:req.response}}); }); }; } ...
组件的
初始值的属性
=
名称
属性您是否找到了这个@funkyLoody的答案?我有一个类似的问题。
initialValues
=
name
属性的属性
Field
组件你找到这个@funkyDroyment的答案了吗?我也有类似的问题。