Bookmark profile

클래스를 만들고 생성자를 private로 선언을 해주어서 외부 접근이 불가능하도록 한다.

class DragDropState private constructor() {
    private var dragOffset by mutableStateOf(0)

    ...
}

이후, rememberXXX 함수를 companion object로 만들어서 함수를 직접 호출할 수 있도록 만들어주면 된다.

class DragDropState private constructor() {
    private var dragOffset by mutableStateOf(0)

    companion object {
        @Composable
        fun rememberDragDropState(): DragDropState {
            return remember { DragDropState() }
        }
    }
}