Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何突出显示生成列表中列表项的部分_Javascript_Reactjs_React Jsx_Redux - Fatal编程技术网

Javascript 如何突出显示生成列表中列表项的部分

Javascript 如何突出显示生成列表中列表项的部分,javascript,reactjs,react-jsx,redux,Javascript,Reactjs,React Jsx,Redux,我的列表组件应该能够根据用户输入的关键字突出显示为什么某个元素是列表的一部分 我正在使用列表项中当前的react highlighter组件,但它要求我将用户输入的关键字从搜索框=>发送到列表视图=>到列表项 对我来说,这看起来不太像反应。 我还使用了redux,因此我只有一个存储,而listview和项目并不直接知道该存储。它们只是呈现属性的哑组件 <SearchBox onChange={setSearchText} value={searchText} /> <List

我的列表组件应该能够根据用户输入的关键字突出显示为什么某个元素是列表的一部分

我正在使用列表项中当前的
react highlighter
组件,但它要求我将用户输入的关键字从
搜索框=>发送到列表视图=>到列表项

对我来说,这看起来不太像
反应。
我还使用了
redux
,因此我只有一个存储,而listview和项目并不直接知道该存储。它们只是呈现属性的哑组件

<SearchBox onChange={setSearchText} value={searchText} />
<List items={item} highlight={searchText}>
  <ListItem>
    <Highlight search={searchText}>{name}</Highlight>
  </ListItem>
</List>

{name}

有没有更优雅的方法来处理这种突出显示?

正如您在评论中提到的,您可以将突出显示功能拉到一个
HighlightedListItem
组件中

<SearchBox onChange={setSearchText} value={searchText} />
<List items={item} >
  <HighlightedListItem item={item} highlight={searchText}>
    {...stuff}
  </ListItem>
</List>

正如您在评论中提到的,您可以将突出显示功能拉入
HighlightedListItem
组件

<SearchBox onChange={setSearchText} value={searchText} />
<List items={item} >
  <HighlightedListItem item={item} highlight={searchText}>
    {...stuff}
  </ListItem>
</List>

在树下传递属性对我来说似乎非常重要。你在寻找什么样的解决方案?只是感觉组件被道具弄得乱七八糟。不确定,也许像一个更高层次的包装器执行高亮,你也可以考虑JSX跨度,以减少混乱。你是说飞溅,@马克?我的意思是传播。对不起,把财产传下去似乎对我很有反应。你在寻找什么样的解决方案?只是感觉组件被道具弄得乱七八糟。不确定,也许像一个更高层次的包装器执行高亮,你也可以考虑JSX跨度,以减少混乱。你是说飞溅,@马克?我的意思是传播。很抱歉