微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ReactJs避免在子输入时重新呈现

如何解决ReactJs避免在子输入时重新呈现

最近,我开始更多地进入设计模式,只是重用组件而不是编写冗长的代码

目前,我正在尝试减少表单的长度并创建一个“行”组件。

BUILD_TYPE := cmake
.DEFAULT_GOAL := default
FULL_PATH := $(shell readlink -f './build')
DIR_NAME := $(shell basename $(shell pwd))
LINKER_TYPE := none
include ../makefile.mk

然后在渲染器上我以这种方式调用它:

 function FormRows({ x,w,z,Input1,Input2,Input3 }) {
        return (
            <div className={"row"}>
                <div className="col text-left">
                    <span style={{ fontSize: '12px' }}>{x}</span>
                </div>
                <div className="col text-left">
                    {Input1}
                </div>
                <div className="col text-left">
                    <span style={{ fontSize: '12px' }}>{w}</span>
                </div>
                <div className="col text-left">
                    {Input2 ? Input2 : ''}
                </div>
                <div className="col text-left">
                    <span style={{ fontSize: '12px' }}>{z}</span>
                </div>
                <div className="col text-left">
                    {Input3}
                </div>
                <div className="col-2"></div>
            </div>
        )
    }

问题在于它会在每个onChange事件上重新呈现,因此不会在State:s中存储任何值

任何提示如何解决此问题?

编辑:我忘了提。输入组件从另一个文件导出,并具有以下代码

<FormRows
  x={'Visma Kortnamn'}
  w={'synas'}
  Input1={
    <Input
      placeholder={'Visma Kortnamn'}
      onChange={setVKortnamn}
    />
  }
  Input2={
    <Select
      onchange={setSynas}
      options={trueOrFalse.map((k,i) => {
       return (<option key={i} value={k}>{k}</option>)
      })}
    />
  }
/>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。