Я новичок в ReactJS и работаю над следующим компонентом:
request-item.jsx
import React, { Component } from 'react';
import { connect } from 'react-redux';
import './request-item.scss';
class RequestItem extends Component {
render() {
return (
<div class="request-box">
<div class="request-details">
<div class="information">
<h1>Table 9, 3:00PM</h1>
<h2>Request made 6 min ago.</h2>
</div>
<div class="status-button">
<button type="button" class="request-button">Assistance Requested</button>
</div>
</div>
</div>
);
}
}
export default RequestItem;
Этот компонент является частью следующей страницы:
import React from 'react';
import { connect } from 'react-redux';
import RequestItem from '../../components/request-item/request-item.component';
import './requestlistpage.scss';
class RequestListPage extends React.Component {
render() {
return (
<div>
<h1>Requests</h1>
<div className="requests-container">
<RequestItem />
<RequestItem />
<RequestItem />
<RequestItem />
<RequestItem />
<RequestItem />
<RequestItem />
</div>
</div>
)
}
}
export default RequestListPage;
Когда я нажимаю кнопку запроса, я хочу, чтобы текст на кнопке сменился с «Запрошенная помощь» на «Завершено».
Я знаю, что это можно сделать следующим образом:
<button onclick="change()" type="button" id="button-1" class="request-button">Assistance Requested</button>
function change()
{
var elem = document.getElementById("button-1");
if (elem.value=="Assistance Requested") elem.value = "Completed";
else elem.value = "Assistance Requested";
}
Если бы я просто работал с HTML / CSS / Javascript, у меня была бы функция change()
в отдельный файл и включите этот файл в файл HTML.
Однако, поскольку я работаю с React, я не уверен, что такое соглашение. Моя структура проекта выглядит следующим образом:
src
> assets
> components
> pages
> redux
Если бы у меня была такая функция, как change()
, которая вызывается всякий раз, когда происходит событие onclick()
, где бы я включил эту функцию в проект React? Любые идеи приветствуются.