The problem with antdeginPro's modal

problem description

the company project has an interface to do a purchase function, but now it uses modal,
but encountered a problem when taking the value. The form data was fetched by the componentDidMount of a big component before,
but now I don"t know how to get the specified data of the purchase list. I want to include the id and the data of this form, but the method is written in onclick and dispatch reports an error. I hope God can help me make suggestions. The
code is as follows:

the environmental background of the problems and what methods you have tried

use

showModal = () => {
  // showModal = () => {
    // 
    this.setState({ visible: true });
    const { dispatch, id } = this.props;
    // const { dispatch, match: { params: { id } } } = this.props;
    // dispatch({
    //   type: "service/changeShow",
    // })
    dispatch ({
      type: "service/getStorageListId",
      id,
    })
    // const { dispatch, id } = this.props;
    
  }

related codes

// 

@Form.create()
class CollectionCreateForm extends Component {
  
  render() {
    const { visible, onCancel, onCreate, form, data } = this.props;
    const { getFieldDecorator } = form;
    // console.log(this.props)
    console.log(data)
    return (
      <Modal
        visible={visible}
        title=""
        okText=""
        onCancel={onCancel}
        onOk={onCreate}
      >
        <Form layout="vertical">
          <FormItem label="">
            {getFieldDecorator("name",{
            initialValue: data.name,
            }
            )(<Input type="disabled" />
            )}
          </FormItem>
          <FormItem label="">
            {getFieldDecorator("id",{
            initialValue: "",
            }
            )(<Input type="textarea" />
            )}
          </FormItem>
          <FormItem label="">
            {getFieldDecorator("max_space",{
                initialValue: data.max_space,
            }
            )(<Input type="textarea" />
            )}
          </FormItem>
          <FormItem label="">
            {getFieldDecorator("max_servant_count",{
            initialValue: data.max_servant_count,
            }
            )(<Input type="textarea" />
            )}
          </FormItem>
          <FormItem label="">
            {getFieldDecorator("expire",{
                initialValue: data.expire,
            }
            )(<Input type="textarea" />
            )}
          </FormItem>
          <FormItem label="">
            {getFieldDecorator("price",{
                initialValue: data.price,
            }
            )(<Input type="textarea" />
            )}
          </FormItem>
        </Form>
      </Modal>
    );
  }
}

export default connect(({ service }) => ({
    data: service.storageData.list,
  }))(CollectionCreateForm);

//
@connect(({ service, loading }) => ({
  service,
  submitting: loading.effects["form/submitRegularForm"],
}))
class CollectionsPage extends Component {
  state = {
    visible: false,
  };
  showModal = () => {
  // showModal = () => {
    // 
    this.setState({ visible: true });
    const { dispatch, id } = this.props;
    // const { dispatch, match: { params: { id } } } = this.props;
    // dispatch({
    //   type: "service/changeShow",
    // })
    dispatch ({
      type: "service/getStorageListId",
      id,
    })
    // const { dispatch, id } = this.props;
    
  }

  handleCancel = () => {
    this.setState({ visible: false });
  }

  handleCreate = () => {
    
  }

  saveFormRef = (formRef) => {
    this.formRef = formRef;
  }
  
  render() {
    let formProps = {...this.props };
    //  
    // console.log(this.props);
    return (
      <div>
        <Button onClick={this.showModal}></Button>
        <CollectionCreateForm
          {...formProps}
          wrappedComponentRef={this.saveFormRef}
          visible={this.state.visible}
          onCancel={this.handleCancel}
          onCreate={this.handleCreate}
        />
      </div>
    );
  }
}
export default CollectionsPage; 
//effects
// 
    *getStorageListId({ id }, { call, put }) {
      const response = yield call(listStorage, id);
      if (response.status === true) {
        yield put({
          type: "queryGetStorage",
          payload: response.data,
        });
      }
    },
    //reducer
    queryGetStorage(state, { payload }) {
      return {
        ...state,
        storageData: payload,
        needRefresh: false,
      };
    },

the value is taken to the this.props, but I don"t know how to get the value of the specified Id

clipboard.png

Nov.19,2021

Buy the click event to get the id, and store the id in the this.state, then build a sub-component, take this value over, and then the props can receive it in the modal. Then the OK


is solved when the sub-component acquires the value according to the componentWillMount. The id, of the object can be obtained with record.xxx and the function in value
render: (value, record) = > {} can get the value

.
Menu