How to gracefully relocate the subcomponents within the React component?

based on react-semantic-ui, I assembled a Table component that can search and change pages.
is called < PaginatedTable / >

.

working example: https://codesandbox.io/s/23q6.

use as follows

<PaginationTable
    items={[
      {
        id: 1,
        name: "test-item-1 ???"
      },
      {
        id: 2,
        name: "test-item-2"
      },
      {
        id: 3,
        name: "test-item-3"
      }
    ]}
    columnOption={[
      {
        header: "idHeader",
        cellValue: "id",
        onItemClick: item => {
          alert(item.id);
        },
        sortingField: "id"
      },
      {
        header: "Name~",
        cellValue: item =>
          `*custom text cannot be searched* property can item.name => ${
            item.name
          } `,
        onItemClick: item => {
          alert(item.name);
        },
        sortingField: "name"
      }
    ]}
    initSortingField={"id"}
    initSortingOrderAsc={false}
    pagination
    itemsPerPage={2}
    searchKeyProperties={["id", "name"]}
  />

but at present, this component can only be in a fixed order as follows:

<PaginationTable>
 <SearchBar />
 <Table />
 <PaginationBar />
</PaginationTable>

but I didn"t actually split the three sub-components SearchBar , Table , PaginationBar within the component.
so I can"t use render props"s technique to reposition subcomponents.
if you change it to render props, you can adjust the position of the subcomponent like this:

<PaginationTable {... props}>
{({ SearchBar, Table, PaginationBar  })=>
<div>
 <SearchBar />
 <Table />
 <SearchBar />
</PaginationTable>
</div>
</PaginationTable>

I have a lot of trouble when I try to change it to render props, because when I split it into three sub-components, I have to modify all the related variables (this.state, this.props, this.xxxFunction) that were originally used in < PaginationTable > this . For example, if
uses this.setState ({searchBarText: e.target.value}) in < PaginationTable >, I have to change a lot of writing methods to pass on

.

<SearchBar onTextChange={()=>{

    this.setState({
        searchBarText: e.target.value
    });
}} />

is there any way to elegantly adjust the order of subcomponents without having to change the writing of render Props specifically for this matter?
or how to change it to render props more elegantly?


I found an easy way to change to render props.
I changed it in this way at first, which will cause DOM to be updated every time.

render(){
const SearchBar = ()= (<Input onChange={()=>{...} />);
const TableElement = ()=>(<Table {...} > ... </Table>);
const PaginationBar = ()=>(<Menu {...} > ... </Menu>);
enter code here
return(
<React.Fragment>
    {this.props.children({ SearchBar,TableElement, PaginationBar })} 
</React.Fragment>)};

just change it to this

render(){
    const SearchBar = (<input onChange={...} />);
    const TableElement = (<Table .../>);
    const PaginationBar = (<Menu .../>);
    //... same as above
}
MySQL Query : SELECT * FROM `codeshelper`.`v9_news` WHERE status=99 AND catid='6' ORDER BY rand() LIMIT 5
MySQL Error : Disk full (/tmp/#sql-temptable-64f5-1bdf4af-30cae.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
MySQL Errno : 1021
Message : Disk full (/tmp/#sql-temptable-64f5-1bdf4af-30cae.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
Need Help?