React/Typescript中,当点击不同的元素时,可以通过以下方式触发一个元素的函数:
onClick
属性来指定一个点击事件处理函数,如下所示:import React from 'react';
function handleClick() {
console.log('元素被点击了');
}
function App() {
return (
<div>
<button onClick={handleClick}>点击我</button>
</div>
);
}
export default App;
import React from 'react';
import { useDispatch, useSelector } from 'react-redux';
import { RootState } from './store';
// 定义动作类型和动作创建函数
const SET_ACTIVE_ELEMENT = 'SET_ACTIVE_ELEMENT';
interface SetActiveElementAction {
type: typeof SET_ACTIVE_ELEMENT;
payload: string;
}
export function setActiveElement(activeElement: string): SetActiveElementAction {
return {
type: SET_ACTIVE_ELEMENT,
payload: activeElement,
};
}
// 定义初始状态和状态处理函数
interface AppState {
activeElement: string;
}
const initialState: AppState = {
activeElement: '',
};
function appReducer(state = initialState, action: SetActiveElementAction): AppState {
switch (action.type) {
case SET_ACTIVE_ELEMENT:
return {
...state,
activeElement: action.payload,
};
default:
return state;
}
}
// 在组件中使用状态管理库
function App() {
const dispatch = useDispatch();
const activeElement = useSelector((state: RootState) => state.app.activeElement);
function handleClick(element: string) {
dispatch(setActiveElement(element));
}
return (
<div>
<button onClick={() => handleClick('button1')}>按钮1</button>
<button onClick={() => handleClick('button2')}>按钮2</button>
{activeElement === 'button1' && <div>按钮1被点击了</div>}
{activeElement === 'button2' && <div>按钮2被点击了</div>}
</div>
);
}
export default App;
useState
钩子来管理元素的状态,并通过条件判断来执行相应的函数。例如,可以使用useState
钩子来管理元素的点击状态,如下所示:import React, { useState } from 'react';
function App() {
const [activeElement, setActiveElement] = useState('');
function handleClick(element: string) {
setActiveElement(element);
}
return (
<div>
<button onClick={() => handleClick('button1')}>按钮1</button>
<button onClick={() => handleClick('button2')}>按钮2</button>
{activeElement === 'button1' && <div>按钮1被点击了</div>}
{activeElement === 'button2' && <div>按钮2被点击了</div>}
</div>
);
}
export default App;
以上是在React/Typescript中点击不同元素触发函数的几种常见方式。根据具体的需求和项目情况,可以选择适合的方式来实现功能。关于React/Typescript的更多信息和使用方法,可以参考腾讯云提供的React/Typescript相关文档和开发工具。
领取专属 10元无门槛券
手把手带您无忧上云