Reactjs React呈现完整组件,而不是使用包装器函数时更改的组件

Reactjs React呈现完整组件,而不是使用包装器函数时更改的组件,reactjs,components,render,reactive,rerender,Reactjs,Components,Render,Reactive,Rerender,在呈现列表组件时,我观察到如下情况。列表组件在渲染前使用搜索道具并进行过滤 <UserList pattern={search}/> 当直接在父组件内部使用上述语句时,它仅呈现根据搜索属性更改的内容(列表保留,仅删除不匹配的项) 但当我将UserList包装到另一个函数中时,如下所示: const Users = ()=> <UserList pattern={search}/>; constusers=()=>; 在父组件中使用,我看到整个列表组件在

在呈现列表组件时,我观察到如下情况。列表组件在渲染前使用搜索道具并进行过滤

 <UserList pattern={search}/>

当直接在父组件内部使用上述语句时,它仅呈现根据搜索属性更改的内容(列表保留,仅删除不匹配的项)

但当我将UserList包装到另一个函数中时,如下所示:

const Users = ()=>  <UserList pattern={search}/>;
constusers=()=>;
在父组件中使用
,我看到整个列表组件在搜索属性更改时重新呈现。搜索字段是本地状态(useState[''])

因此,父组件现在看起来像这样:

const App = () => {
const [search, setSearch] = useState('');

const Users = ()=>  <UserList pattern={search}/>;

return (
    <div id="app" className="home-page">
      <Header />
      <WelcomeSlogan/>
      <Users/>
    </div>
  );
}
const-App=()=>{
const[search,setSearch]=useState(“”);
常量用户=()=>;
返回(
);
}

因此,我们知道,如果父组件发生更改,react会重新呈现完整的子组件,但在这种情况下,父组件(
)是如何发生更改的?有人能解释一下,帮我更好地理解吗?谢谢。

您在哪里定义
用户
组件?您能否提供代码,以便我们可以在同一文件中重现您正在经历的行为。它只是一个线组件。