繁体   English   中英

无法弄清楚为什么 React 代码不起作用

[英]Can't figure out why React code doesn't work

我构建了一个自定义Input组件,它只是 HTML input元素的包装器。 这是关键代码,我已对其进行了简化,以便在此处发布:

// @flow

import React, { useState } from 'react';

type Props = {
  value?: string,
  onChange: Function
};

const Input = ((props: Props) => {
  const [ currentValue, setCurrentValue ] = useState(!!props.value ? props.value : '');

  const handleChange = (event: SyntheticInputEvent<EventTarget>) => {
    setCurrentValue(event.target.value);
    props.onChange(event);
  };

  return <input type='text'
                value={currentValue}
                onChange={handleChange} />;
});

我为此编写了一堆 React 测试库测试,它们都通过了。 但是当我在一个web页面中实现这个组件时,初始值没有出现。 我通过删除currentValue代码并仅使用props.value解决了这个问题。 这样就解决了。 但我很好奇为什么上面的这种方法无法显示初始值。

看看这段代码,我确实使用了prop-types

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM