인프런 커뮤니티 질문&답변

tkdguslee92님의 프로필 이미지

작성한 질문수

Flutter 앱 개발 기초

숫자 퀴즈 앱 만들기

스샷처럼 취소선이 왜 생기나요?

해결된 질문

24.09.19 00:04 작성

·

24

1

스크린샷 2024-09-19 오전 12.03.34.png

 

강의중에 궁금한게있습니다.
이렇게 파라미터 안에 값이 MaterialStateProperty
이렇게 되는 이유가 뭔가요? 어쩔때 취소선이 쫙~ 그어지나요?
그리고 코드에는 어떤 영향을 주나요?
궁금합니다.

답변 2

2

DevStory님의 프로필 이미지
DevStory
지식공유자

2024. 09. 19. 12:49

안녕하세요

취소선은 해당 기능은 향후 삭제될 예정이니 다른 방법 사용하라는 표시입니다. Deprecated 되었다고 표현하며, MaterialStateProperty에 마우스를 올려보시면 취소선이 그어진 이유가 나타납니다.

image.png

내용을 읽어보면 3.19.0-0.3.pre에서 deprecated 되었으니 WidgetStateProperty 기능을 사용하라고 알려주고 있습니다. 내용에 따라 해당 부분을 아래와 같이 수정해주시면 됩니다.

image.png

현재 사용중인 Flutter 버전에선 문제 없이 동작하지만, 향후 해당 기능이 삭제된 최신 버전으로 Flutter를 업그래이드 하는 경우 문제가 발생할 수 있으니 새로 변경된 방법으로 변경하시는 것을 권장드립니다.

감사합니다 :)

0

인프런 AI 인턴님의 프로필 이미지

2024. 09. 19. 00:06

안녕하세요, 인프런 AI 인턴입니다. tkdguslee92님 질문 감사드립니다.

MaterialStateProperty에 취소선이 그어지는 이유는 아래와 같이 설명할 수 있습니다:

이유:

  • Deprecation(사용 중지 예정): 보통 코드에 취소선이 그어지는 것은 해당 클래스나 메서드가 ‘deprecated’ 되었음을 나타냅니다. ‘Deprecated’란, 해당 기능이나 메서드가 오래된 방식이거나 향후 버전에서 제거될 예정이므로 사용하지 않도록 권장되는 경우입니다.
  • 대체 기능 존재: 취소선이 그어진 항목은 동일한 기능을 수행하는 다른 도구나 메서드로 교체되었을 가능성이 큽니다. 예를 들어 어떤 클래스나 메서드가 더 효율적이거나 안전한 방식으로 대체돌 가능성이 있습니다.

코드에 미치는 영향:

  • 경고: ‘Deprecated’ 메서드나 클래스는 여전히 작동할 수 있지만, 향후 업데이트에서 제거될 수 있기 때문에 경고를 의미합니다. 새로운 프로젝트에 사용할 경우를 지양하고 대체 방법을 사용하는 것이 좋습니다.
  • 미래의 호환성 문제: 업데이트된 라이브러리나 프레임워크 버전에서 해당 기능이 제거되면 해당 코드는 작동하지 않게 될 수 있습니다. 따라서, 대체 기능으로 코드의 호환성을 높이는 것이 중요합니다.

관련된 더 자세한 설명:

다음은 유사한 상황에 대한 기존의 답변 링크입니다:
- Flutter 3.16.0 이상 버전에 대한 Material2와 Material3 테마 변경 관련

image
URL: https://www.inflearn.com/questions/1235199

간단한 예제 코드:

예를 들어, MaterialStateProperty 대신 새로운 API로 대체되는 내용의 코드가 있을 수 있습니다.

Button(
  style: ButtonStyle(
    backgroundColor: MaterialStateProperty.all(Colors.white), // Deprecated 예시
  ),
  onPressed: () async {
    // Perform some action
  },
)

위 코드에서 MaterialStateProperty에 취소선이 그어져 있을 경우, 대체로 사용해야 하는 방법을 문서나 관련 가이드에서 찾아보실 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.