#javascript #reactjs #string #string-literals #template-literals
Вопрос:
Я устанавливаю свое состояние следующим образом —
setMessage(color, text) {
this.setState({ message: { color: color, text: text } });
}
body = `These are your options to raise money:
Increase your credit allowance (invite new people into the game, this increases your overdraft auto`
this.setMessage('red', `${body}` );
Я визуализирую его как {this.state.message.text}, однако он не отображает несколько строк, вместо этого все это сжимается в один абзац.
Как мне это исправить и визуализировать?
Комментарии:
1. HTML по умолчанию свернет пробелы. Вы можете сохранить пробелы с помощью css
white-space: pre
2. Но я визуализирую его с помощью {this.state.message.text}, как именно мне установить этот стиль для этого?
Ответ №1:
Для этого вы можете использовать Jsx. Я тоже сталкивался с этой проблемой, я решил ее так, и это сработало для меня. Вы можете использовать либо тег фрагмента реакции, либо любой допустимый тег jsx
setMessage(color, text) {
this.setState({ message: { color: color, text: text } });
}
body = <>These are your options to raise money:<br />
Increase your credit allowance (invite new people into the game, this increases your overdraft auto</>
this.setMessage('red', body );