我有两个组件,想要切换一个类。但是,我要切换的类在另一个组件中,它根本不起作用。
过滤器.js:
import React, { useState } from 'react';
const filterNav = (props) => {
const [gridOne, gridTwo] = useState(false);
const toggleClass = () => gridTwo(!gridOne);
return (
<div>
<a onClick={toggleClass}>
<span className={gridOne ? 'fa fa-icon fa-th-large' : 'fa fa-icon fa-th-list'}></span>
</a>
<div className={gridOne ? 'block' : 'hide'}>Test</div>
</div>
);
}
export default filterNav;
上面的例子完美地工作(我使用测试 div 来显示它在同一个文件中工作)。我遇到的问题是我要用于切换的按钮在其中filter.js,而我要切换的类在layout.js( className={gridOne ? 'col-md-6 d-flex align-items-stretch' : 'col-md-12'})
布局.js:
import React, { useState } from 'react';
function hitItems(props) {
const [gridOne, gridTwo] = useState(false);
const toggleClass = () => gridTwo(!gridOne);
console.log(props)
return (
<div className={gridOne ? 'col-md-6 d-flex align-items-stretch' : 'col-md-12'}>
<div className="card">
<div className="card-body">
{props.topics &&
<div className="tags-inner">
{props.topics.map(topic => (
<div className="card-tag">
<span className="home-link track-click">{topic.name}</span>
</div>
))}
</div>
}
</div>
</div>
</div>
)
}
export default hitItems
是否可以在一个组件中切换按钮 onclick 并让它更改另一个?如果这令人困惑,我可以重新处理这个问题