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

时间:2020-06-18 17:43:26

标签: javascript reactjs react-hooks

我已经构建了一个自定义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 Testing库测试,它们都通过了。但是,当我在网页中实现此组件时,初始值无法显示。我通过删除currentValue代码并仅使用props.value来解决了这个问题。解决了。但是我很好奇为什么上面的这种方法无法显示初始值。

1 个答案:

答案 0 :(得分:0)

看看这个code,我确实使用过prop-types