javascript - 处理状态并传递给组件/react.js

标签 javascript reactjs

我正在学习 js 和 React,但仍在为 useState 和传递信息而苦苦挣扎。我已经拥有的:一个按钮列表,根据用户文本输入进行过滤。我现在需要的是:单击其中一个按钮后,需要将其传递到下一个站点(主页/内容)。我该怎么做?我需要使用状态吗?

有人可以帮助我吗?我错过了什么?

export const content = [
  "Apple",
  "Banana",
  "Blueberry",
  "Cherry",
  "Avocado",
  "Pasta"
];
export default function BadgeButtonList({ content }) {
  return (
    <BadgeButtonSection>
      {content.map(item => {
        return (
          <BadgeButton list light key={item.name} item={item.toUpperCase()} />
        );
      })}
    </BadgeButtonSection>
  );
}
export default function Home() {
  const [ searchValue, setSearchValue ] = useState("");
  const [ selectedButton, setSelectedButton] = useState("");

  const history = useHistory();

  const filteredContent = content.filter(item =>
    item.toLowerCase().includes(searchValue.toLowerCase())
  );

  function handleSearch(value) {
    setSearchValue(value);
  }
  return (
    <WrapperDiv>
            
      <Header />
      <Switch>
                      
        <Route exact path="/home">
                    
          <Searchbar onSearch={handleSearch} />
                    
          <BadgeButtonList
            content={filteredContent}
            onClick={() => {
              setSelectedButton();
              history.push("/home/content");
            }}
          />
                  
        </Route>
                
        <Route exact path="/home/content">
          <BadgeButton light item={selectedButton} />
                             
        </Route>
      </Switch>
                 
    </WrapperDiv>
  );
}

最佳答案

useState returns an array with two elements only .第一个元素是状态值;第二个值是设置值的方法。

您需要将单数 useState 更改为两个:

const [ searchValue, setSearchValue ] = useState('');
const [ selectedButton, setSelectedButton ] = useState('');

关于javascript - 处理状态并传递给组件/react.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58421176/

相关文章:

javascript - Browserify 不起作用 - 为什么?

javascript - 我该如何解决这个错误? "export ' default'(导入为 'App' )在 './App' 中找不到(可能导出 : App)"(im using react)

javascript - 在react redux中一步步dispatch,对吗?

node.js - 如何使用 Axios 从 React 发送数据并在 express 中使用请求主体?

javascript - React 中的表单行为不符合预期

html - 如何创建一个旁边有表格的英雄形象并制作全 Angular ?

javascript - 无法分配元素的最后位置坐标

javascript - 拆分 html,包括使用正则表达式拆分 ul 标签

javascript - 使用自定义运算符进行高斯消元

javascript - 谷歌地图已刷新